migrate_undo.js 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. "use strict";
  2. var _process = _interopRequireDefault(require("process"));
  3. var _yargs = require("../core/yargs");
  4. var _migrator = require("../core/migrator");
  5. var _helpers = _interopRequireDefault(require("../helpers"));
  6. function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
  7. exports.builder = yargs => (0, _yargs._baseOptions)(yargs).option('name', {
  8. describe: 'Name of the migration to undo',
  9. type: 'string'
  10. }).argv;
  11. exports.handler = async function (args) {
  12. // legacy, gulp used to do this
  13. await _helpers.default.config.init();
  14. await migrateUndo(args);
  15. _process.default.exit(0);
  16. };
  17. function migrateUndo(args) {
  18. return (0, _migrator.getMigrator)('migration', args).then(migrator => {
  19. return (0, _migrator.ensureCurrentMetaSchema)(migrator).then(() => migrator.executed()).then(migrations => {
  20. if (migrations.length === 0) {
  21. _helpers.default.view.log('No executed migrations found.');
  22. _process.default.exit(0);
  23. }
  24. }).then(() => {
  25. if (args.name) {
  26. return migrator.down(args.name);
  27. } else {
  28. return migrator.down();
  29. }
  30. });
  31. }).catch(e => _helpers.default.view.error(e));
  32. }