overleaf/services/web/migrations/20200120163346_atlas_recommended_indexes.js
Shane Kilkelly 4b9aa97ea1 Merge pull request #4303 from overleaf/sk-tag-saas-migrations
Migrations: tag migrations with relevant environment
GitOrigin-RevId: ad6c3bea19d3c21a1fdae58e09c861a3173c792b
2021-07-28 02:05:49 +00:00

36 lines
838 B
JavaScript

/* eslint-disable no-unused-vars */
const Helpers = require('./lib/helpers')
exports.tags = ['server-ce', 'server-pro', 'saas']
const indexes = {
docSnapshots: [{ key: { project_id: 1, ts: 1 }, name: 'project_id_1_ts_1' }],
deletedProjects: [
{
key: { 'deleterData.deletedProjectOwnerId': 1 },
name: 'deleterdata_deletedProjectOwnerId_1',
},
],
docs: [{ key: { project_id: 1, inS3: 1 }, name: 'project_id_1_inS3_1' }],
}
exports.migrate = async client => {
const { db } = client
await Promise.all(
Object.keys(indexes).map(key =>
Helpers.addIndexesToCollection(db[key], indexes[key])
)
)
}
exports.rollback = async client => {
const { db } = client
await Promise.all(
Object.keys(indexes).map(key =>
Helpers.dropIndexesFromCollection(db[key], indexes[key])
)
)
}