migration-helper.js 1.1 KB

123456789101112131415161718192021222324252627
  1. "use strict";
  2. var _lodash = _interopRequireDefault(require("lodash"));
  3. var _index = _interopRequireDefault(require("./index"));
  4. function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
  5. const Sequelize = _index.default.generic.getSequelize();
  6. module.exports = {
  7. getTableName(modelName) {
  8. return Sequelize.Utils.pluralize(modelName);
  9. },
  10. generateTableCreationFileContent(args) {
  11. return _index.default.template.render('migrations/create-table.js', {
  12. tableName: this.getTableName(args.name),
  13. attributes: _index.default.model.transformAttributes(args.attributes),
  14. createdAt: args.underscored ? 'created_at' : 'createdAt',
  15. updatedAt: args.underscored ? 'updated_at' : 'updatedAt'
  16. });
  17. },
  18. generateMigrationName(args) {
  19. return _lodash.default.trimStart(_lodash.default.kebabCase('create-' + args.name), '-');
  20. },
  21. generateTableCreationFile(args) {
  22. const migrationName = this.generateMigrationName(args);
  23. const migrationPath = _index.default.path.getMigrationPath(migrationName);
  24. _index.default.asset.write(migrationPath, this.generateTableCreationFileContent(args));
  25. }
  26. };