Исправление ошибки AutoMigrate в Golang GORM для PostgreSQL
С выходом нового драйвера pg AutoMigrate выдает ошибки...
В моем новом проекте на Go, который использовал GORM, я начал получать ошибку:
pq: получено 2 параметра, но инструкция требует 1
Это было совершенно неожиданно, но решение оказалось простым - нужно откатить версию драйвера gorm для postgres.
Мне пришлось откатить в недавнем проекте с
gorm.io/driver/postgres v1.5.11
на
gorm.io/driver/postgres v1.4.0
После небольшого поиска в Google я нашел эту ссылку от февраля 2024 года
gorm@1.25.7 несовместим с драйвером postgres@1.5.6. #167
также с Reddit:
Я всегда тщательно проверяю mysql, redis и mongo перед выпуском обновления.
Для postgres я только провел тест первой миграции, который всегда работал,
но не тестировал повторное выполнение.
Удивительно, но последняя работающая версия драйвера postgres - это
gorm.io/driver/postgres v1.4.0!
также еще одна проблема, но похоже, что это не уникальный баг: https://github.com/go-gorm/gorm/issues/5409
после обновления с v1.23.4 на v1.23.5 #5409
pq: получено 1 параметр, но инструкция требует 0
Это решение по исправлению GORM и драйвера Postgresql работает на данный момент, в мае 2025 года.