سؤال

لقد أضفت حقل سلسلة إلى فئة الإسبات الدائمة ، وأعدت تشغيل التطبيق.لقد بدأ 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.

إليك كيفية القيام بذلك يدويًا:

https://stackoverflow.com/a/9492183/1988704

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top