Information on using the Sequelize CLI to perform database migrations can be viewed here:
http://docs.sequelizejs.com/en/latest/docs/migrations/
All migration javascript files should be placed in the migrations directory with a name of
the form yyyyMMddhhmmss.js
. An example of such a file is:
module.exports = {
up: (queryInterface, sequelize) => {
return queryInterface.addColumn('article_content', 'gallery_id', sequelize.STRING)
.catch((e) => {
if (e.parent.code === "42701") {
console.log(`Column(s) gallery_id already exists in article_content. Swallow error`);
} else {
throw e;
}
});
},
down: (queryInterface, sequelize) => {
return queryInterface.removeColumn('article_content', 'gallery_id', sequelize.STRING);
}
};
Each file should expose an up function and a down function. The up
function applies a
migration; in this case an extra column is added to the articles
table. The down
function
should revert the migration applied by the up
function; in this case removing the new
column from the articles
table.
To perform migrations you must be in the apps-consumer-scripts
directory. Then run
$ npm run migrate
Migrations can be reversed by running
$ npm run migrate:undo