ruby PG::UndefinedColumn(错误:列d.adsrc不存在)时使用upsert gem

6l7fqoea  于 2023-10-17  发布在  Ruby
关注(0)|答案(1)|浏览(124)

我目前在我的项目中使用Upsert gem进行各种操作。具体来说,我在多个地方依赖Upsert.batch。最近,我尝试将我的PostgreSQL版本升级到15。然而,看起来Upsert不适用于PostgreSQL 15,因为Upsert使用的“d.adsrc”列在PostgreSQL 12版本中不存在。
根据Upsert gem文档,它应该仍然与PostgreSQL 12兼容,我假设它也可以与PostgreSQL 15兼容。我已经将Upsert gem更新到了2.9.9版本,也将pg gem更新到了最新版本,但我仍然遇到了问题。
你对如何让Upsert在这种情况下与PostgreSQL 15一起工作有什么建议或见解吗?如果可能的话,我宁愿暂时避免升级到Rails 6。

wlzqhblo

wlzqhblo1#

你不是在最新的版本,从我所看到的the adsrc fix for pg12+是在2.9.10推出。

更新帖子评论.

看起来实际上有一个an inadvertent regression的变化,在2.9.10推出之前将adsrc放回了代码库,直到e69104e没有被部署为gem版本才被修复。
所以我会用这个版本:

gem "upsert", github: "seamusabshere/upsert", ref: "e69104e"

Protip:我实际上会将项目分叉到我自己的repo中并引用它,所以我知道它永远不会消失。

相关问题