mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-14 14:13:43 +01:00
Merge pull request #12861 from overleaf/em-ds-delete-chunk-migration
Better indexes for history chunks deletion GitOrigin-RevId: 1404f5a0535bc94cb1e9d7fc2ea66fd90f584fea
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
/* eslint-disable no-unused-vars */
|
||||
|
||||
const Helpers = require('./lib/helpers')
|
||||
|
||||
exports.tags = ['server-ce', 'server-pro', 'saas']
|
||||
|
||||
const oldIndexes = [
|
||||
{
|
||||
key: {
|
||||
state: 1,
|
||||
},
|
||||
name: 'state_1',
|
||||
partialFilterExpression: {
|
||||
state: 'deleted',
|
||||
},
|
||||
},
|
||||
{
|
||||
key: {
|
||||
state: -1,
|
||||
},
|
||||
name: 'state_pending',
|
||||
partialFilterExpression: {
|
||||
state: 'pending',
|
||||
},
|
||||
},
|
||||
]
|
||||
const newIndexes = [
|
||||
{
|
||||
key: {
|
||||
updatedAt: 1,
|
||||
},
|
||||
name: 'deleted_updated_at',
|
||||
partialFilterExpression: {
|
||||
state: 'deleted',
|
||||
},
|
||||
},
|
||||
{
|
||||
key: {
|
||||
updatedAt: -1,
|
||||
},
|
||||
name: 'pending_updated_at',
|
||||
partialFilterExpression: {
|
||||
state: 'pending',
|
||||
},
|
||||
},
|
||||
]
|
||||
|
||||
exports.migrate = async client => {
|
||||
const { db } = client
|
||||
await Helpers.addIndexesToCollection(db.projectHistoryChunks, newIndexes)
|
||||
await Helpers.dropIndexesFromCollection(db.projectHistoryChunks, oldIndexes)
|
||||
}
|
||||
|
||||
exports.rollback = async client => {
|
||||
const { db } = client
|
||||
await Helpers.addIndexesToCollection(db.projectHistoryChunks, oldIndexes)
|
||||
await Helpers.dropIndexesFromCollection(db.projectHistoryChunks, newIndexes)
|
||||
}
|
||||
Reference in New Issue
Block a user