إصلاح خطأ 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.