Memperbaiki Kesalahan Golang GORM AutoMigrate PostgreSQL
Dengan rilis driver pg baru, AutoMigrate mulai menghasilkan kesalahan...
Dalam proyek Go baru saya yang menggunakan GORM, saya mulai mendapatkan kesalahan:
pq: got 2 parameters but the statement requires 1
Ini sepenuhnya tidak terduga, tetapi solusinya sederhana — perlu menurunkan versi driver gorm untuk postgres.
Saya harus menurunkan versi dari proyek terbaru dari
gorm.io/driver/postgres v1.5.11
ke
gorm.io/driver/postgres v1.4.0
Setelah melakukan beberapa pencarian di Google, saya menemukan referensi dari Februari 2024
gorm@1.25.7 tidak kompatibel dengan driver postgres@1.5.6. #167
juga dari Reddit:
Saya selalu memeriksa mysql, redis, dan mongo secara menyeluruh sebelum merilis pembaruan.
Untuk postgres, saya hanya melakukan uji migrasi pertama yang selalu berhasil
tetapi tidak menguji ulang.
Menyenangkan, versi terakhir driver postgres yang berfungsi adalah
gorm.io/driver/postgres v1.4.0!
juga masalah lain, tetapi tampaknya bug ini tidak unik: https://github.com/go-gorm/gorm/issues/5409
setelah upgrade dari v1.23.4 ke v1.23.5 #5409
pq: got 1 parameters but the statement requires 0
Solusi memperbaiki GORM dan driver Postgresql ini bekerja untuk saat ini, di Mei 2025.