20200402160380-remove-deleteduser-from-relationgroup.js 922 B

123456789101112131415161718192021222324252627282930
  1. import mongoose from 'mongoose';
  2. import UserGroupRelation from '~/server/models/user-group-relation';
  3. import { getModelSafely, getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
  4. import loggerFactory from '~/utils/logger';
  5. const logger = loggerFactory('growi:migrate:remove-deleteduser-from-relationgroup');
  6. module.exports = {
  7. async up(db) {
  8. logger.info('Apply migration');
  9. mongoose.connect(getMongoUri(), mongoOptions);
  10. const User = getModelSafely('User') || require('~/server/models/user')();
  11. const deletedUsers = await User.find({ status: 4 }); // deleted user
  12. const requests = await UserGroupRelation.remove({ relatedUser: deletedUsers });
  13. if (requests.size === 0) {
  14. return logger.info('This migration terminates without any changes.');
  15. }
  16. logger.info('Migration has successfully applied');
  17. },
  18. down(db, next) {
  19. // do not rollback
  20. next();
  21. },
  22. };