Golang GORM AutoMigrate postgresql 오류 수정
새로운 pg 드라이버가 출시됨에 따라 AutoMigrate가 오류를 발생시키고 있습니다...
새로운 Go 프로젝트에서 GORM을 사용하다가 다음과 같은 오류가 발생했습니다: pq: got 2 parameters but the statement requires 1
이것은 전혀 예상치 못한 일이었지만, 해결 방법은 간단했습니다. gorm postgres 드라이버를 다운그레이드해야 했습니다.
최근의 프로젝트인 recent project에서
gorm.io/driver/postgres v1.5.11
에서
gorm.io/driver/postgres v1.4.0
로 다운그레이드해야 했습니다.
일부 검색을 통해 2024년 2월에 다음과 같은 참조를 찾았습니다.
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: got 1 parameters but the statement requires 0
이해관계자와 Postgresql 드라이버를 수정하는 이 방법은 2025년 5월 현재까지 작동하고 있습니다.