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