Résoudre l'erreur Golang GORM AutoMigrate avec PostgreSQL

Avec la sortie du nouveau pilote pg, AutoMigrate génère des erreurs...

Dans mon nouveau projet Go qui utilisait GORM, j’ai commencé à obtenir une erreur : pq: got 2 parameters but the statement requires 1

Cela était complètement inattendu, mais la solution était simple : il fallait rétrograder le pilote Postgres de GORM.

écran d’erreur

J’ai dû rétrograder dans projet récent depuis

gorm.io/driver/postgres v1.5.11

vers

gorm.io/driver/postgres v1.4.0

Après avoir fait quelques recherches, j’ai trouvé cette référence de février 2024

gorm@1.25.7 n'est pas compatible avec le pilote postgres@1.5.6.  #167

également depuis Reddit :

Je vérifie toujours MySQL, Redis et MongoDB en détail avant de publier une mise à jour.
Pour Postgres, j'ai seulement fait le premier test de migration qui a toujours fonctionné
mais je n'ai pas testé avec une nouvelle exécution.
Surprenant, la dernière version de pilote Postgres fonctionnelle est
gorm.io/driver/postgres v1.4.0 !

aussi un autre problème, mais il semble que le bug ne soit pas unique : https://github.com/go-gorm/gorm/issues/5409

  après la mise à niveau de v1.23.4 vers v1.23.5 #5409

  pq: got 1 parameters but the statement requires 0

Cette solution de correction de GORM et du pilote Postgresql fonctionne pour l’instant, en mai 2025.

Liens utiles