我正在研究一种迁移机制,该机制应该使用npm软件包migration-mongo在版本之间实现数据库更改。 (https://www.npmjs.com/package/migrate-mongo)
我将代码设置为在服务器init上运行。
通过软件包文档,当我使用“ up”命令时,它可以识别当前数据库上的挂起迁移并运行它。
问题是我们有多个节点实例,并且在部署时,迁移可以运行多次。
这是我用于应用迁移的代码:
if (!some(res, {appliedAt: 'PENDING'})) {
return;
}
const migratedFiles = await up(db);
如何防止同时运行?