seed.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. "use strict";
  2. var _lodash = _interopRequireDefault(require("lodash"));
  3. var _process = _interopRequireDefault(require("process"));
  4. var _yargs = require("../core/yargs");
  5. var _migrator = require("../core/migrator");
  6. var _helpers = _interopRequireDefault(require("../helpers"));
  7. function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
  8. exports.builder = yargs => (0, _yargs._baseOptions)(yargs).argv;
  9. exports.handler = async function (args) {
  10. const command = args._[0];
  11. // legacy, gulp used to do this
  12. await _helpers.default.config.init();
  13. switch (command) {
  14. case 'db:seed:all':
  15. await seedAll(args);
  16. break;
  17. case 'db:seed:undo:all':
  18. await seedUndoAll(args);
  19. break;
  20. }
  21. _process.default.exit(0);
  22. };
  23. function seedAll(args) {
  24. return (0, _migrator.getMigrator)('seeder', args).then(migrator => {
  25. return migrator.pending().then(seeders => {
  26. if (seeders.length === 0) {
  27. _helpers.default.view.log('No seeders found.');
  28. return;
  29. }
  30. return migrator.up({
  31. migrations: _lodash.default.chain(seeders).map('file').value()
  32. });
  33. });
  34. }).catch(e => _helpers.default.view.error(e));
  35. }
  36. function seedUndoAll(args) {
  37. return (0, _migrator.getMigrator)('seeder', args).then(migrator => {
  38. return (_helpers.default.umzug.getStorage('seeder') === 'none' ? migrator.pending() : migrator.executed()).then(seeders => {
  39. if (seeders.length === 0) {
  40. _helpers.default.view.log('No seeders found.');
  41. return;
  42. }
  43. return migrator.down({
  44. migrations: _lodash.default.chain(seeders).map('file').reverse().value()
  45. });
  46. });
  47. }).catch(e => _helpers.default.view.error(e));
  48. }