Add db migration for removal of _privatePemCipher and publicPem

This commit is contained in:
Johannes Zellner
2015-02-09 10:43:17 +01:00
parent 36fb4798aa
commit f71b96daac
2 changed files with 42 additions and 2 deletions
@@ -0,0 +1,42 @@
var dbm = require('db-migrate');
var type = dbm.dataType;
var async = require('async');
exports.up = function(db, callback) {
// All that work only because SQLite does not support removing columns...
db.runSql('ALTER TABLE users RENAME TO users_old', function (error) {
if (error) return callback(error);
db.runSql('CREATE TABLE users(' +
'id VARCHAR(128) NOT NULL UNIQUE,' +
'username VARCHAR(512) NOT NULL,' +
'email VARCHAR(512) NOT NULL,' +
'_password VARCHAR(512) NOT NULL,' +
'_salt VARCHAR(512) NOT NULL,' +
'createdAt VARCHAR(512) NOT NULL,' +
'modifiedAt VARCHAR(512) NOT NULL,' +
'admin INTEGER NOT NULL,' +
'PRIMARY KEY(id));');
db.all('SELECT * FROM users_old;', function (error, result) {
if (error) return callback(error);
async.eachSeries(result, function (record, callback) {
db.runSql('INSERT INTO users (id, username, email, _password, _salt, createdAt, modifiedAt, admin) VALUES (?, ?, ?, ?, ?, ?, ?, ?)', record.clientId, record.username, record.email, record._password, record._salt, record.createdAt, record.modifiedAt, record.admin, callback);
}, function (error) {
if (error) return callback(error);
db.runSql('DROP TABLE users_old', callback);
});
});
});
};
exports.down = function(db, callback) {
db.runSql('ALTER TABLE users ADD _privatePemCipher VARCHAR(2048)', function (error) {
if (error) return callback(error);
db.runSql('ALTER TABLE users ADD publicPem VARCHAR(2048)', callback);
});
};
-2
View File
@@ -6,8 +6,6 @@ CREATE TABLE IF NOT EXISTS users(
username VARCHAR(512) NOT NULL,
email VARCHAR(512) NOT NULL,
_password VARCHAR(512) NOT NULL,
publicPem VARCHAR(2048) NOT NULL,
_privatePemCipher VARCHAR(2048) NOT NULL,
_salt VARCHAR(512) NOT NULL,
createdAt VARCHAR(512) NOT NULL,
modifiedAt VARCHAR(512) NOT NULL,