我在需要访问同一Postgres数据库的不同Erlang VM实例中有N个工作进程(不是Erlang PID),其中N> = 2.当这些工作程序升级时,我希望能够自动运行Ecto迁移因此,当我推出这些工作人员的升级时,我不必经历所有工人的舞蹈,停止所有工人,进行迁移,再次启动所有工人。如果可能的话。然而,在考虑它时,我能想出的唯一解决方案是:
但所有这些解决方案都像是在解决这个问题。要么我在这里失踪,要么我只是错误地考虑迁移,我不确定哪一个是真的。
答案 0 :(得分:1)
让另一名工人专门进行迁移。这是我可能最终会使用的路径。
这似乎是现在最好的方法。虽然注意到当前正在开发中的Ecto 3.0在运行迁移时会使用锁,所以这个问题将会为你解决。