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

123456789101112131415161718192021222324252627282930
  1. import mongoose from 'mongoose';
  2. import { getModelSafely, getMongoUri, mongoOptions } from '@growi/core';
  3. import loggerFactory from '~/utils/logger';
  4. const logger = loggerFactory('growi:migrate:remove-deleteduser-from-relationgroup');
  5. module.exports = {
  6. async up(db) {
  7. logger.info('Apply migration');
  8. mongoose.connect(getMongoUri(), mongoOptions);
  9. const User = getModelSafely('User') || require('~/server/models/user')();
  10. const UserGroupRelation = getModelSafely('UserGroupRelation') || require('~/server/models/user-group-relation')();
  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. };