Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/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(0)
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement