2020040216038-remove-deleteduser-from-relationgroup.js 996 B

123456789101112131415161718192021222324252627282930
  1. require('module-alias/register');
  2. const logger = require('@alias/logger')('growi:migrate:remove-deleteduser-from-relationgroup');
  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) {
  8. logger.info('Apply migration');
  9. mongoose.connect(config.mongoUri, config.mongodb.options);
  10. const User = getModelSafely('User') || require('@server/models/user')();
  11. const UserGroupRelation = getModelSafely('UserGroupRelation') || require('@server/models/user-group-relation')();
  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) {
  20. // do not rollback
  21. },
  22. };