2019-02-15 13:57:18 -08:00
|
|
|
'use strict';
|
|
|
|
|
|
2025-07-28 12:53:27 +02:00
|
|
|
const async = require('async'),
|
2025-08-14 11:17:38 +05:30
|
|
|
crypto = require('node:crypto');
|
2019-02-15 13:57:18 -08:00
|
|
|
|
|
|
|
|
exports.up = function(db, callback) {
|
|
|
|
|
async.series([
|
|
|
|
|
db.runSql.bind(db, 'START TRANSACTION;'),
|
|
|
|
|
|
|
|
|
|
db.runSql.bind(db, 'ALTER TABLE tokens ADD COLUMN id VARCHAR(128)'),
|
|
|
|
|
|
|
|
|
|
function (done) {
|
|
|
|
|
db.runSql('SELECT * FROM tokens', function (error, tokens) {
|
|
|
|
|
async.eachSeries(tokens, function (token, iteratorDone) {
|
2025-07-28 12:53:27 +02:00
|
|
|
db.runSql('UPDATE tokens SET id=? WHERE accessToken=?', [ 'tid-'+cryptorandomUUID(), token.accessToken ], iteratorDone);
|
2019-02-15 13:57:18 -08:00
|
|
|
}, done);
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
db.runSql.bind(db, 'ALTER TABLE tokens MODIFY id VARCHAR(128) NOT NULL UNIQUE'),
|
|
|
|
|
db.runSql.bind(db, 'COMMIT'),
|
|
|
|
|
], callback);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
exports.down = function(db, callback) {
|
|
|
|
|
async.series([
|
|
|
|
|
db.runSql.bind(db, 'ALTER TABLE tokens DROP COLUMN id'),
|
|
|
|
|
], callback);
|
|
|
|
|
};
|