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

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