|
@@ -0,0 +1,47 @@
|
|
|
|
|
+const { db, waitForDb } = require('../app/src/infrastructure/mongodb')
|
|
|
|
|
+
|
|
|
|
|
+async function updateStringDates() {
|
|
|
|
|
+ await waitForDb()
|
|
|
|
|
+ const users = await db.users.find({
|
|
|
|
|
+ splitTests: { $exists: true },
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ let user
|
|
|
|
|
+ let count = 0
|
|
|
|
|
+ while ((user = await users.next())) {
|
|
|
|
|
+ count += 1
|
|
|
|
|
+ if (count % 10000 === 0) {
|
|
|
|
|
+ console.log(`processed ${count} users...`)
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ const splitTests = user.splitTests
|
|
|
|
|
+ for (const splitTestKey of Object.keys(splitTests)) {
|
|
|
|
|
+ for (const variantIndex in splitTests[splitTestKey]) {
|
|
|
|
|
+ splitTests[splitTestKey][variantIndex].assignedAt = new Date(
|
|
|
|
|
+ splitTests[splitTestKey][variantIndex].assignedAt
|
|
|
|
|
+ )
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ await db.users.updateOne(
|
|
|
|
|
+ {
|
|
|
|
|
+ _id: user._id,
|
|
|
|
|
+ },
|
|
|
|
|
+ { $set: { splitTests } }
|
|
|
|
|
+ )
|
|
|
|
|
+ }
|
|
|
|
|
+ console.log(`Updated ${count} assignedAt strings to dates!`)
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+if (!module.parent) {
|
|
|
|
|
+ updateStringDates()
|
|
|
|
|
+ .then(() => {
|
|
|
|
|
+ process.exit(0)
|
|
|
|
|
+ })
|
|
|
|
|
+ .catch(error => {
|
|
|
|
|
+ console.error(error)
|
|
|
|
|
+ process.exit(1)
|
|
|
|
|
+ })
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+module.exports = updateStringDates
|