Run database migrations automatically on startup

Instead of using sequelize-cli and ensure migrations by shellscript,
this patch automates database migrations properly to the umzug library.
The sequelize CLI becomes a dev dependencies as it's still useful for
generating migrations.

This should eliminate the need for crude generating of database config
files and alike. Instead we utilize the pre-configured sequelize
connection that CodiMD will use anyway.

Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
This commit is contained in:
Sheogorath 2020-06-02 13:48:38 +02:00
parent 2c3522992b
commit 6c1ca5bd8d
No known key found for this signature in database
GPG key ID: C9B1C80737B9CE18
19 changed files with 70 additions and 35 deletions

View file

@ -1,6 +1,6 @@
'use strict'
module.exports = {
up: function (queryInterface, Sequelize) {
up: async function (queryInterface, Sequelize) {
return queryInterface.addColumn('Notes', 'deletedAt', Sequelize.DATE).catch(function (error) {
if (error.message === 'SQLITE_ERROR: duplicate column name: deletedAt' || error.message === "ER_DUP_FIELDNAME: Duplicate column name 'deletedAt'" || error.message === 'column "deletedAt" of relation "Notes" already exists') {
// eslint-disable-next-line no-console
@ -11,7 +11,7 @@ module.exports = {
})
},
down: function (queryInterface, Sequelize) {
down: async function (queryInterface, Sequelize) {
return queryInterface.removeColumn('Notes', 'deletedAt')
}
}