Advertisement
Guest User

Untitled

a guest
Jul 21st, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. #!/usr/bin/env node
  2. const FileStore = require('migrate/lib/file-store')
  3.  
  4. const db = require('../lib/db')
  5. const migrate = require('../lib/migrate')
  6. const options = require('../lib/options')
  7.  
  8. const createMigration = `CREATE TABLE IF NOT EXISTS migrations (
  9. id serial PRIMARY KEY,
  10. data json NOT NULL
  11. )`
  12.  
  13. const select = 'select * from migrations limit 1'
  14.  
  15. const getMigrateFile = () => {
  16. return new Promise((resolve, reject) => {
  17. new FileStore(options.migrateStatePath).load((err, store) => {
  18. if (err) return reject(err)
  19. return resolve(store)
  20. })
  21. })
  22. }
  23.  
  24. db.none(createMigration)
  25. .then(() => Promise.all([db.oneOrNone(select), getMigrateFile()]))
  26. .then(([qResult, migrateFile]) => {
  27. if (!qResult && migrateFile) {
  28. return db.none('insert into migrations (id, data) values (1, $1)', [migrateFile])
  29. }
  30. })
  31. .then(() => migrate.run())
  32. .then(() => {
  33. console.log('DB Migration succeeded.')
  34. process.exit(0)
  35. })
  36. .catch(err => {
  37. console.error('DB Migration failed: %s', err)
  38. process.exit(0)
  39. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement