20200903080025-remove-timeline-type.js.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. require('module-alias/register');
  2. const logger = require('@alias/logger')('growi:migrate:remove-behavior-type');
  3. const mongoose = require('mongoose');
  4. const config = require('@root/config/migrate');
  5. const { getModelSafely } = require('@commons/util/mongoose-utils');
  6. module.exports = {
  7. async up(db, client) {
  8. logger.info('Apply migration');
  9. mongoose.connect(config.mongoUri, config.mongodb.options);
  10. const Config = getModelSafely('Config') || require('@server/models/config')();
  11. await Config.findOneAndDelete({ key: 'customize:isEnabledTimeline' }); // remove timeline
  12. logger.info('Migration has successfully applied');
  13. },
  14. async down(db, client) {
  15. // do not rollback
  16. logger.info('Rollback migration');
  17. mongoose.connect(config.mongoUri, config.mongodb.options);
  18. const Config = getModelSafely('Config') || require('@server/models/config')();
  19. const insertConfig = new Config({
  20. ns: 'crowi',
  21. key: 'customize:isEnabledTimeline',
  22. value: true,
  23. });
  24. await insertConfig.save();
  25. logger.info('Migration has been successfully rollbacked');
  26. },
  27. };