* Revert "Migration sql changes (#199)"
This reverts commit 12c834469c.
* Save migrate file on db
* Add message on migration error in lamassu-update
39 lines
1 KiB
JavaScript
Executable file
39 lines
1 KiB
JavaScript
Executable file
#!/usr/bin/env node
|
|
const FileStore = require('migrate/lib/file-store')
|
|
|
|
const db = require('../lib/db')
|
|
const migrate = require('../lib/migrate')
|
|
const options = require('../lib/options')
|
|
|
|
const createMigration = `CREATE TABLE IF NOT EXISTS migrations (
|
|
id serial PRIMARY KEY,
|
|
data json NOT NULL
|
|
)`
|
|
|
|
const select = 'select * from migrations limit 1'
|
|
|
|
const getMigrateFile = () => {
|
|
return new Promise((resolve, reject) => {
|
|
new FileStore(options.migrateStatePath).load((err, store) => {
|
|
if (err) return reject(err)
|
|
return resolve(store)
|
|
})
|
|
})
|
|
}
|
|
|
|
db.none(createMigration)
|
|
.then(() => Promise.all([db.oneOrNone(select), getMigrateFile()]))
|
|
.then(([qResult, migrateFile]) => {
|
|
if (!qResult && migrateFile) {
|
|
return db.none('insert into migrations (id, data) values (1, $1)', [migrateFile])
|
|
}
|
|
})
|
|
.then(() => migrate.run())
|
|
.then(() => {
|
|
console.log('DB Migration succeeded.')
|
|
process.exit(0)
|
|
})
|
|
.catch(err => {
|
|
console.error('DB Migration failed: %s', err)
|
|
process.exit(1)
|
|
})
|