20220222095146_split_tests_analytics_enabled.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. exports.tags = ['saas']
  2. exports.migrate = async client => {
  3. const { db } = client
  4. await db.splittests.updateMany(
  5. {},
  6. { $set: { 'versions.$[version].analyticsEnabled': true } },
  7. {
  8. arrayFilters: [
  9. {
  10. 'version.active': true,
  11. 'version.analyticsEnabled': { $exists: false },
  12. },
  13. ],
  14. }
  15. )
  16. await db.splittests.updateMany(
  17. {},
  18. { $set: { 'versions.$[version].analyticsEnabled': false } },
  19. {
  20. arrayFilters: [
  21. {
  22. 'version.active': false,
  23. 'version.analyticsEnabled': { $exists: false },
  24. },
  25. ],
  26. }
  27. )
  28. }
  29. exports.rollback = async client => {
  30. const { db } = client
  31. await db.splittests.updateMany(
  32. {},
  33. { $unset: { 'versions.$[version].analyticsEnabled': 1 } },
  34. {
  35. arrayFilters: [
  36. { 'version.active': true, 'version.analyticsEnabled': true },
  37. ],
  38. }
  39. )
  40. await db.splittests.updateMany(
  41. {},
  42. { $unset: { 'versions.$[version].analyticsEnabled': 1 } },
  43. {
  44. arrayFilters: [
  45. { 'version.active': false, 'version.analyticsEnabled': false },
  46. ],
  47. }
  48. )
  49. }