运行db:migrate时会滚动6个多个数据库并出现查询超时问题

问题描述 投票:0回答:1

MyModel上,我使用使数据库复制正常工作的配置

connects_to database: { writing: :primary, reading: :follower }

在某些迁移中,存在类似查询:

MyModel.update_all(...)

它们的结果是:

PG::QueryCanceled: ERROR:  canceling statement due to statement timeout

如果删除connects_to database: { writing: :primary, reading: :follower },我将不再收到此错误,该错误以某种方式证明复制设置是造成迁移文件中此错误的原因。

我知道我可以开始修复所有迁移,但我不愿意这样做..

ruby-on-rails database-replication ruby-on-rails-6
1个回答
0
投票

[我注意到,在默认情况下运行database.ymlrails s任务时,rails会自动打开与rake文件中指定的第一个数据库的DB连接。运行迁移时使用此连接。在我们的例子中,该数据库名为:primary

© www.soinside.com 2019 - 2024. All rights reserved.