إصلاح خطأ Golang GORM AutoMigrate في postgresql

مع إصدار قارئ pg الجديد، يقوم AutoMigrate بإلقاء أخطاء...

في مشروع Go الجديد الذي كنت أستخدم فيه GORM، بدأت أحصل على خطأ: pq: حصلت على 2 معلمة ولكن العبارة تتطلب 1

كان هذا غير متوقع تمامًا، ولكن الحل كان بسيطًا - يجب أن أقوم بتقديم نسخة أقدم من محرك gorm لـ postgres.

شاشة الخطأ

كان عليّ أن أقوم بتقديم النسخة الأقدم في مشروع حديث من

gorm.io/driver/postgres v1.5.11

إلى

gorm.io/driver/postgres v1.4.0

بعد إجراء بعض البحث على الإنترنت، وجدت هذا المراجع في فبراير 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.

روابط مفيدة