Beheben des Golang GORM AutoMigrate postgresql-Fehlers
Mit der Veröffentlichung des neuen pg-Treiber ist AutoMigrate Fehler werfen...
In meinem neuen Go-Projekt, das GORM verwendete, begann ich plötzlich mit folgendem Fehler:
pq: got 2 parameters but the statement requires 1
Das war völlig unerwartet, aber die Lösung war einfach – ich musste den gorm-PostgreSQL-Treiber downgraden.
Ich musste in recent project von
gorm.io/driver/postgres v1.5.11
zu
gorm.io/driver/postgres v1.4.0
downgraden.
Nachdem ich einige Google-Suchen durchgeführt hatte, fand ich diese Referenz aus Februar 2024:
gorm@1.25.7 ist mit postgres@1.5.6-Treiber nicht kompatibel. #167
auch aus Reddit:
Ich prüfe immer MySQL, Redis und MongoDB gründlich, bevor ich ein Update veröffentliche.
Bei PostgreSQL führe ich nur den ersten Migrations-Test durch, der immer funktioniert,
aber teste nicht erneut.
Überraschend genug ist die letzte funktionierende PostgreSQL-Treiber-Version
gorm.io/driver/postgres v1.4.0!
ein weiteres Problem, aber es sieht so aus, als sei der Fehler nicht einzigartig: https://github.com/go-gorm/gorm/issues/5409
nach Upgrade von v1.23.4 zu v1.23.5 #5409
pq: got 1 parameters but the statement requires 0
Diese Lösung, GORM und den PostgreSQL-Treiber zu beheben, funktioniert derzeit, im Mai 2025.