overleaf-cep/services/web/migrations/20250411200550_active_chunk_index_update.mjs
Eric Mc Sween 958ff0f3bf Merge pull request #24847 from overleaf/em-chunks-index
Include closed chunks in active chunks index

GitOrigin-RevId: ff75959737908afa72cee2c2784abb476c115e80
2025-04-15 08:05:33 +00:00

41 lines
952 B
JavaScript

import Helpers from './lib/helpers.mjs'
const tags = ['server-ce', 'server-pro', 'saas']
const oldIndex = {
name: 'projectId_1_startVersion_1',
key: {
projectId: 1,
startVersion: 1,
},
unique: true,
partialFilterExpression: { state: 'active' },
}
const newIndex = {
name: 'projectId_1_startVersion_1_v2',
key: {
projectId: 1,
startVersion: 1,
},
unique: true,
partialFilterExpression: { state: { $in: ['active', 'closed'] } },
}
const migrate = async client => {
const { db } = client
await Helpers.addIndexesToCollection(db.projectHistoryChunks, [newIndex])
await Helpers.dropIndexesFromCollection(db.projectHistoryChunks, [oldIndex])
}
const rollback = async client => {
const { db } = client
await Helpers.addIndexesToCollection(db.projectHistoryChunks, [oldIndex])
await Helpers.dropIndexesFromCollection(db.projectHistoryChunks, [newIndex])
}
export default {
tags,
migrate,
rollback,
}