Naprawa błędu Golang GORM AutoMigrate w PostgreSQL

Z wydaniem nowego sterownika pg AutoMigrate zaczyna wyrzucać błędy...

W moim nowym projekcie w Go, który korzystał z GORM, zacząłem otrzymywać błąd:
pq: otrzymano 2 parametry, ale instrukcja wymaga 1

To było zupełnie nieoczekiwane, ale rozwiązanie było proste – trzeba było zaktualizować wersję sterownika gorm dla Postgres w dół.

ekran błędu

Musiałem zaktualizować wersję sterownika w niedawnym projekcie od

gorm.io/driver/postgres v1.5.11

do

gorm.io/driver/postgres v1.4.0

Po przeprowadzeniu pewnych badań na Google, odniosłem się do tego odniesienia z lutego 2024:

gorm@1.25.7 nie jest kompatybilny z driverem postgres@1.5.6.  #167

również z Reddit:

Zawsze dokładnie sprawdzam mysql, redis i mongo przed wydaniem aktualizacji.
W przypadku Postgres, sprawdzałem tylko pierwszy test migracji, który zawsze działał,
ale nie przetestowałem ponownego uruchomienia.
Zaskakująco, ostatnia działająca wersja sterownika Postgres to
gorm.io/driver/postgres v1.4.0!

również inny problem, ale wydaje się, że błąd nie jest unikalny: https://github.com/go-gorm/gorm/issues/5409

  po aktualizacji z v1.23.4 na v1.23.5 #5409

  pq: otrzymano 1 parametr, ale instrukcja wymaga 0

To rozwiązanie naprawiające GORM i sterownik Postgresql działa obecnie, w maju 2025.

Przydatne linki