Adding migration support and delete cascade migration for space references
This commit is contained in:
parent
c075c562d6
commit
f71081b15b
25
models/db.js
25
models/db.js
@ -1,5 +1,6 @@
|
||||
//'use strict';
|
||||
|
||||
var Umzug = require('umzug');
|
||||
//var mongoose = require('mongoose');
|
||||
//const sqlite3 = require('sqlite3').verbose();
|
||||
|
||||
@ -199,7 +200,7 @@ module.exports = {
|
||||
updated_at: {type: Sequelize.DATE, defaultValue: Sequelize.NOW}
|
||||
}),
|
||||
|
||||
init: function() {
|
||||
init: async function() {
|
||||
User = this.User;
|
||||
Session = this.Session;
|
||||
Space = this.Space;
|
||||
@ -256,7 +257,27 @@ module.exports = {
|
||||
as: 'space'
|
||||
});
|
||||
|
||||
sequelize.sync();
|
||||
await sequelize.sync();
|
||||
|
||||
var umzug = new Umzug({
|
||||
storage: 'sequelize',
|
||||
storageOptions: {
|
||||
sequelize: sequelize
|
||||
},
|
||||
migrations: {
|
||||
params: [
|
||||
sequelize.getQueryInterface(),
|
||||
Sequelize
|
||||
],
|
||||
path: './models/migrations',
|
||||
pattern: /\.js$/
|
||||
}
|
||||
});
|
||||
|
||||
umzug.up().then(function(migrations) {
|
||||
console.log('Migration complete up!');
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
getUserRoleInSpace: (originalSpace, user, cb) => {
|
||||
|
80
models/migrations/01-spaces-delete-cascade.js
Normal file
80
models/migrations/01-spaces-delete-cascade.js
Normal file
@ -0,0 +1,80 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
up: function(migration, DataTypes) {
|
||||
return [
|
||||
migration.changeColumn('memberships', 'space_id',
|
||||
{
|
||||
type: DataTypes.STRING,
|
||||
references: {
|
||||
model: 'spaces',
|
||||
key: '_id'
|
||||
},
|
||||
onDelete: 'CASCADE',
|
||||
onUpdate: 'CASCADE'
|
||||
}
|
||||
),
|
||||
migration.changeColumn('artifacts', 'space_id',
|
||||
{
|
||||
type: DataTypes.STRING,
|
||||
references: {
|
||||
model: 'spaces',
|
||||
key: '_id'
|
||||
},
|
||||
onDelete: 'CASCADE',
|
||||
onUpdate: 'CASCADE'
|
||||
}
|
||||
),
|
||||
migration.changeColumn('messages', 'space_id',
|
||||
{
|
||||
type: DataTypes.STRING,
|
||||
references: {
|
||||
model: 'spaces',
|
||||
key: '_id'
|
||||
},
|
||||
onDelete: 'CASCADE',
|
||||
onUpdate: 'CASCADE'
|
||||
}
|
||||
)
|
||||
]
|
||||
},
|
||||
|
||||
down: function(migration, DataTypes) {
|
||||
return [
|
||||
migration.changeColumn('memberships', 'space_id',
|
||||
{
|
||||
type: DataTypes.STRING,
|
||||
references: {
|
||||
model: 'spaces',
|
||||
key: '_id'
|
||||
},
|
||||
onDelete: 'CASCADE',
|
||||
onUpdate: 'NO ACTION'
|
||||
}
|
||||
),
|
||||
,
|
||||
migration.changeColumn('artifacts', 'space_id',
|
||||
{
|
||||
type: DataTypes.STRING,
|
||||
references: {
|
||||
model: 'spaces',
|
||||
key: '_id'
|
||||
},
|
||||
onDelete: 'CASCADE',
|
||||
onUpdate: 'NO ACTION'
|
||||
}
|
||||
),
|
||||
migration.changeColumn('messages', 'space_id',
|
||||
{
|
||||
type: DataTypes.STRING,
|
||||
references: {
|
||||
model: 'spaces',
|
||||
key: '_id'
|
||||
},
|
||||
onDelete: 'CASCADE',
|
||||
onUpdate: 'NO ACTION'
|
||||
}
|
||||
)
|
||||
]
|
||||
}
|
||||
};
|
@ -40,6 +40,7 @@
|
||||
"slug": "0.9.1",
|
||||
"sqlite3": "^4.0.0",
|
||||
"swig": "1.4.2",
|
||||
"umzug": "^2.1.0",
|
||||
"underscore": "1.8.3",
|
||||
"uuid": "^3.2.1",
|
||||
"validator": "7.0.0",
|
||||
|
Loading…
Reference in New Issue
Block a user