Explorar el Código

Merge pull request #19271 from overleaf/em-really-skip-projects-without-history

Refine check for existence of history in migration script

GitOrigin-RevId: 8ad5706525f5043694e516d585a7aef85a1e5566
Eric Mc Sween hace 2 años
padre
commit
1b84f005cc

+ 6 - 2
services/web/app/src/Features/History/HistoryRangesSupportMigration.js

@@ -8,7 +8,10 @@ const HistoryManager = require('../History/HistoryManager')
 const DocumentUpdaterHandler = require('../DocumentUpdater/DocumentUpdaterHandler')
 const DocstoreManager = require('../Docstore/DocstoreManager')
 const ProjectOptionsHandler = require('../Project/ProjectOptionsHandler')
-const { db } = require('../../infrastructure/mongodb')
+const {
+  db,
+  READ_PREFERENCE_SECONDARY,
+} = require('../../infrastructure/mongodb')
 
 /**
  * Migrate projects based on a query.
@@ -40,7 +43,7 @@ async function migrateProjects(opts = {}) {
   const clauses = []
 
   // skip projects that don't have full project history
-  clauses.push({ 'overleaf.history': { $exists: true } })
+  clauses.push({ 'overleaf.history.id': { $exists: true } })
 
   if (projectIds != null) {
     clauses.push({ _id: { $in: projectIds.map(id => new ObjectId(id)) } })
@@ -62,6 +65,7 @@ async function migrateProjects(opts = {}) {
 
   const projects = db.projects
     .find(filter, {
+      readPreference: READ_PREFERENCE_SECONDARY,
       projection: { _id: 1, overleaf: 1 },
     })
     .sort({ _id: -1 })