lamassu-server/bin/lamassu-migrate
Mauricio Navarro Miranda 8a8503dcbb fix: server_logs creates inf loop on l-s install
fix: flag that skips storing server_logs on DB when table does not yet exists
fix: hook server logs migration as soft dependency on initial
Revert "fix: hook server logs migration as soft dependency on initial"
This reverts commit e6c4cf4419c894598393997637dcfd95a5ff6a0e.
fix: empty promise, actually no additional promise was needed
2020-09-02 12:41:49 +02:00

40 lines
1.2 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]) => {
process.env.SKIP_SERVER_LOGS = !(qResult && qResult.data.migrations.find(({ title }) => title === '1572524820075-server-support-logs.js'))
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)
})