在多个Heroku Dynos上进行数据库迁移

问题描述

我有一个用于Meteor应用程序的简单迁移脚本。启动时,它将运行一些代码修改Documents中的所有Collection。我在Heroku上运行了5个测功机,并在日志中注意到我的console.logs被称为5x(每个测功机1个)。

这是否也意味着我的DB也要更新5倍?

谢谢!

解决方法

您应该使用类似https://atmospherejs.com/percolate/migrations的方式来确保一次只有一个进程可以获取数据库锁。

这样,只有一个节点将运行代码进行迁移。