Save migrations file on db (#215)
* Revert "Migration sql changes (#199)"
This reverts commit 12c834469c.
* Save migrate file on db
* Add message on migration error in lamassu-update
This commit is contained in:
parent
9af204e609
commit
06f8c57608
58 changed files with 1516 additions and 567 deletions
22
lib/db-migrate-store.js
Normal file
22
lib/db-migrate-store.js
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
const db = require('../lib/db')
|
||||
|
||||
const upsert = 'insert into migrations (id, data) values (1, $1) on conflict (id) do update set data = $1'
|
||||
|
||||
function DbMigrateStore () {
|
||||
}
|
||||
|
||||
DbMigrateStore.prototype.save = function (set, fn) {
|
||||
let insertData = JSON.stringify({
|
||||
lastRun: set.lastRun,
|
||||
migrations: set.migrations
|
||||
})
|
||||
db.none(upsert, [insertData]).then(fn).catch(err => console.log(err))
|
||||
}
|
||||
|
||||
DbMigrateStore.prototype.load = function (fn) {
|
||||
db.one('select data from migrations').then(({ data }) => {
|
||||
fn(null, data)
|
||||
})
|
||||
}
|
||||
|
||||
module.exports = DbMigrateStore
|
||||
|
|
@ -1,18 +1,24 @@
|
|||
const path = require('path')
|
||||
const migrate = require('migrate')
|
||||
|
||||
const options = require('./options')
|
||||
const DbMigrateStore = require('./db-migrate-store')
|
||||
|
||||
const migrateDir = path.resolve(__dirname, '..', 'migrations')
|
||||
const migration = migrate.load(options.migrateStatePath, migrateDir)
|
||||
|
||||
module.exports = {run}
|
||||
const migrateOpts = {
|
||||
migrationsDirectory: migrateDir,
|
||||
stateStore: new DbMigrateStore(),
|
||||
filterFunction: it => it.match(/^\d+.*\.js$/)
|
||||
}
|
||||
|
||||
module.exports = { run }
|
||||
function run () {
|
||||
return new Promise((resolve, reject) => {
|
||||
migration.up(err => {
|
||||
migrate.load(migrateOpts, (err, set) => {
|
||||
if (err) return reject(err)
|
||||
return resolve(0)
|
||||
set.up(err => {
|
||||
if (err) return reject(err)
|
||||
return resolve(0)
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue