20250321112055_create_deletedUsers_email_indexes.mjs 829 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /* eslint-disable no-unused-vars */
  2. import Helpers from './lib/helpers.mjs'
  3. const tags = ['server-ce', 'server-pro', 'saas']
  4. const indexes = [
  5. {
  6. key: {
  7. 'user.email': 1,
  8. },
  9. name: 'user.email_1',
  10. },
  11. {
  12. key: {
  13. 'user.emails.email': 1,
  14. },
  15. partialFilterExpression: {
  16. 'user.emails.email': {
  17. $exists: true,
  18. },
  19. },
  20. name: 'user.emails.email_1',
  21. },
  22. ]
  23. const migrate = async client => {
  24. const { db } = client
  25. await Helpers.addIndexesToCollection(db.deletedUsers, indexes)
  26. }
  27. const rollback = async client => {
  28. const { db } = client
  29. try {
  30. await Helpers.dropIndexesFromCollection(db.deletedUsers, indexes)
  31. } catch (err) {
  32. console.error('Something went wrong rolling back the migrations', err)
  33. }
  34. }
  35. export default {
  36. tags,
  37. migrate,
  38. rollback,
  39. }