Fixare l'errore di Golang GORM AutoMigrate su PostgreSQL

Con il rilascio del nuovo driver pg AutoMigrate sta generando errori...

Nel mio nuovo progetto Go che utilizzava GORM, ho iniziato a ricevere un errore: pq: got 2 parameters but the statement requires 1

Questo era completamente inaspettato, ma la soluzione era semplice: era necessario downgradare il driver di Postgres per GORM.

schermata dell’errore

Avevo dovuto downgradare nel progetto recente da

gorm.io/driver/postgres v1.5.11

a

gorm.io/driver/postgres v1.4.0

Dopo aver fatto alcuni ricerche su Google, ho trovato questo riferimento di febbraio 2024

gorm@1.25.7 non è compatibile con il driver postgres@1.5.6.  #167

anche da Reddit:

Controllo sempre MySQL, Redis e MongoDB in modo approfondito prima di rilasciare un aggiornamento.
Per Postgres, ho eseguito solo il primo test di migrazione che ha sempre funzionato
ma non ho testato con il rilancio.
Sorprendentemente, l'ultima versione funzionante del driver Postgres è
gorm.io/driver/postgres v1.4.0!

un altro problema, ma sembra che il bug non sia unico: https://github.com/go-gorm/gorm/issues/5409

  dopo l'aggiornamento da v1.23.4 a v1.23.5 #5409

  pq: got 1 parameters but the statement requires 0

Questa soluzione di correggere GORM e il driver Postgresql funziona per ora, a maggio 2025.