修复 Golang GORM AutoMigrate PostgreSQL 错误
随着新版本 pg 驱动的发布,AutoMigrate 开始抛出错误...
在我使用 GORM 的新 Go 项目中,我开始遇到以下错误:
pq: got 2 parameters but the statement requires 1
这完全出乎意料,但解决方案很简单——需要降级 gorm 的 postgres 驱动。
我不得不在 最近的项目 中从
gorm.io/driver/postgres v1.5.11
降级到
gorm.io/driver/postgres v1.4.0
在进行了一些搜索后,我找到了 2024 年 2 月的参考资料:
gorm@1.25.7 与 postgres@1.5.6 驱动不兼容。 #167
还来自 Reddit 的信息:
我总是会在发布更新前彻底检查 mysql、redis 和 mongo。
对于 postgres,我只做了第一次迁移测试,这一直有效,
但没有进行重新运行的测试。
令人惊讶的是,最后一个正常工作的 postgres 驱动版本是
gorm.io/driver/postgres v1.4.0!
还有另一个问题,但看起来这个 bug 并不唯一:https://github.com/go-gorm/gorm/issues/5409
从 v1.23.4 升级到 v1.23.5 #5409
pq: got 1 parameters but the statement requires 0
截至目前为止,2025 年 5 月,修复 GORM 和 Postgresql 驱动的这个解决方案是有效的。