Files
cloudron-box/migrations/20190215215805-tokens-add-id.js
T

30 lines
933 B
JavaScript
Raw Normal View History

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);
};