Åtgärda Golang GORM AutoMigrate PostgreSQL-fel

Med utgivningen av den nya pg-drivrutinen kastar AutoMigrate fel...

I started att få ett fel i mitt nya Go-projekt som använder GORM: pq: got 2 parameters but the statement requires 1

Det här var helt oväntat men lösningen var enkel - jag behövde nedgradera GORM PostgreSQL-drivrutinen.

error screen

Jag var tvungen att nedgradera i nyligen projekt från

gorm.io/driver/postgres v1.5.11

till

gorm.io/driver/postgres v1.4.0

Efter att ha gjort lite googlande hittade jag detta referens från februari 2024

gorm@1.25.7 är inte kompatibel med postgres@1.5.6 driver.  #167

även från Reddit:

Jag kontrollerar alltid mysql, redis och mongo noggrant innan jag släpper en uppdatering.
För postgres, gjorde jag bara första migrationstestet som alltid fungerade
men testade inte med återupprepning.
Förvånansvärt är den sista fungerande postgres driver versionen
gorm.io/driver/postgres v1.4.0!

även ett annat problem, men det verkar som att det här felet inte är unikt: https://github.com/go-gorm/gorm/issues/5409

  efter uppgradering från v1.23.4 till v1.23.5 #5409

  pq: got 1 parameters but the statement requires 0

Den här lösningen för att fixa GORM och Postgresql driver fungerar för tillfället, i maj 2025.

Användbara länkar