+ if (actualVersion === null) {
+ await sequelizeTypescript.query('INSERT INTO "application" ("migrationVersion") VALUES (0)')
+ actualVersion = 0
+ }
+
+ // No need migrations, abort
+ if (actualVersion >= LAST_MIGRATION_VERSION) return
+
+ // If there are a new migration scripts
+ logger.info('Begin migrations.')
+
+ const migrationScripts = await getMigrationScripts()
+
+ for (const migrationScript of migrationScripts) {
+ try {
+ await executeMigration(actualVersion, migrationScript)
+ } catch (err) {
+ logger.error('Cannot execute migration %s.', migrationScript.version, { err })
+ process.exit(-1)
+ }
+ }
+
+ logger.info('Migrations finished. New migration version schema: %s', LAST_MIGRATION_VERSION)