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.
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.