مشكلة تحديث مخطط الإسبات
-
28-10-2019 - |
سؤال
لقد أضفت حقل سلسلة إلى فئة الإسبات الدائمة ، وأعدت تشغيل التطبيق.لقد بدأ SchemaUpgrade ، ونتج عنه العديد من الأخطاء مثل هذا الخطأ: Genacodicetagpre
بالرغم من ذلك ، تمت إضافة العمود إلى قاعدة البيانات.ويبدو أن كل شيء يعمل بشكل جيد.باستثناء تلك الأخطاء التي تظهر في كل مرة ، أبدأ التطبيق.
ما الذي يمكنني فعله لمساعدته في إنشاء تلك الفهارس؟DB هو MySQL ، إصدار السبات 3.0.
المحلول
لا يبدو أنها مشكلة في وضع السبات.إذا حاولت التشغيل يدويًا ، فسترى أنك ستواجه نفس المشكلة.بالنظر إلى أدلة MySQL ، أرى أن "errno: 150" تعني:
إذا أعدت إنشاء جدول تم إسقاطه ، فيجب أن يحتوي على تعريف يتوافق مع قيود المفتاح الخارجي التي تشير إليه.يجب أن تحتوي على أسماء وأنواع الأعمدة الصحيحة ، ويجب أن تحتوي على فهارس على المفاتيح المشار إليها ، كما هو مذكور سابقًا.إذا لم يتم استيفاء هذه الشروط ، فإن MySQL تُرجع الخطأ رقم 1005 وتشير إلى الخطأ 150 في رسالة الخطأ.
http://dev.mysql.com / doc / refman / 5.5 / en / innodb-foreign-key-limitss.html
نصائح أخرى
تأكد أيضًا من أن TABLE_COLLATION بين العمود المشار إليه والعمود المرجعي هو نفسه ... وإلا ستحصل أيضًا على هذا الخطأ.
بالنسبة لي ، تم حل المشكلة عن طريق تغيير محرك جميع الجداول إلى InnoDB.
إليك كيفية القيام بذلك يدويًا: