Golang GORM AutoMigrate postgresql エラーの修正方法

新しい pg ドライバのリリースに伴い、AutoMigrate がエラーを発生しています...

新しいGoプロジェクトでGORMを使用し始めたところ、以下のエラーが発生しました:
pq: got 2 parameters but the statement requires 1

これは完全に予想外でしたが、解決方法は単純でした。GORMのPostgreSQLドライバーをバージョンダウンする必要があります。

error screen

私は最近のプロジェクトで recent project から

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、MongoDBをしっかりテストしています。
PostgreSQLに関しては、いつも通りのマイグレーションテストだけを行いましたが、再実行テストはしていませんでした。
驚いたことに、最後に正常に動作したPostgreSQLドライバのバージョンは
gorm.io/driver/postgres v1.4.0 です!

また、別の問題もありますが、これは一意のバグではなく、以下に記載されています: https://github.com/go-gorm/gorm/issues/5409

  v1.23.4 から v1.23.5 へのアップグレード後 #5409

  pq: got 1 parameters but the statement requires 0

このGORMとPostgreSQLドライバーのバージョンダウンの解決策は、2025年5月現在では効果的です。

有用なリンク