كيفية حل عقيدة أن symfony: خطأ بناء مخطط (علاقة غير محدد الاسم المستعار TABLE_NAME)
سؤال
وكيفية حل هذا الخطأ في symfony:
C:\inetpub\wwwroot\project\trunk\preprod\signup>php symfony doctrine:build-schema --trace
>> doctrine generating yaml schema from database
[sfException]
Unknown relation alias table_name
Exception trace:
at C:\inetpub\wwwroot\project\trunk\preprod\signup\lib\vendor\symfony\lib\plugins\sfDoctrinePlugin\lib\cli\sfDoctrineCli.class.php:69
sfDoctrineCli->notifyException at C:\inetpub\wwwroot\ project\trunk\preprod\signup\lib\vendor\symfony\lib\plugins\sfDoctrinePlugin\lib\ven
dor\doctrine\Doctrine\Cli.php:93
Doctrine_Cli->run at C:\inetpub\wwwroot\project\trunk\preprod\signup\lib\vendor\symfony\lib\plugins\sfDoctrinePlugin\lib\task\sfDoctrineB
aseTask.class.php:112
sfDoctrineBaseTask->callDoctrineCli at C:\inetpub\wwwroot\project\trunk\preprod\signup\lib\vendor\symfony\lib\plugins\sfDoctrinePlugin\li
b\task\sfDoctrineBuildSchemaTask.class.php:57
sfDoctrineBuildSchemaTask->execute at C:\inetpub\wwwroot\project\trunk\preprod\signup\lib\vendor\symfony\lib\task\sfBaseTask.class.php:63
sfBaseTask->doRun at C:\inetpub\wwwroot\project\trunk\preprod\signup\lib\vendor\symfony\lib\task\sfTask.class.php:77
sfTask->runFromCLI at C:\inetpub\wwwroot\ project\trunk\preprod\signup\lib\vendor\symfony\lib\command\sfSymfonyCommandApplication.class.ph
p:76
sfSymfonyCommandApplication->run at C:\inetpub\wwwroot\project\trunk\preprod\signup\lib\vendor\symfony\lib\command\cli.php:20
include at C:\inetpub\wwwroot\project\trunk\preprod\signup\symfony:14
المحلول
وإنها قضية نموذجية وذاكرة التخزين المؤقت (إعادة تعيين كافة التكوين ومحو نموذج وملفات البيانات)
rm config/doctrine/schema.yml
rm -r cache/*
rm -r data/*
rm -r lib/model/doctrine/base
symfony cc
ولقد وجدت استجابة الثانية، وذلك باستخدام builder.php التصحيح أن يكون حاصل على وجوه المذهب في symfony 1.2 يلقي هذا الخطأ أيضا.
نصائح أخرى
وأولئك الذين يعملون مع أن symfony 1.4 سوف نكون سعداء لمعرفة أن هناك مهمة لتنظيف نماذج نظرية عفا عليها الزمن. "عقيدة ./symfony: نظيفة". وتخلص من تلك مقرفة "هذا النموذج لا توجد قضايا بعد الآن"
واحد من الجداول الخاصة بك ويبدو أن الرجوع جدول آخر بعنوان "TABLE_NAME" (ما لم يكن هناك شيء خاطئ مع الانتاج استبدال خطأ عقيدة و). تحقق العلاقات على جميع الجداول الخاصة بك للعثور على الجاني يسبب هذا وإزالة العلاقة اذا كان غير صالح (هل فعلا جدول يسمى "TABLE_NAME؟) لإصلاح هذه المشكلة.
إذا كان لديك الكثير من الجداول يمكنك محاولة تكرار قاعدة البيانات بأكملها إلى DB اختبار مؤقت ثم إسقاط نصف الجداول وتشغيل توليد الأمر مرة أخرى. إذا كنت لا تحصل على الخطأ أن نعرف أن جزءا من الجداول ليست هي المشكلة حتى إسقاط الجداول الموجودة واستعادة النصف الآخر. إذا كان نفس الخطأ لا يزال يحدث الجاني هو الآن داخل قطعة الحالية. مواصلة اسقاط نصفين حتى كنت غادرت مع جدول واحد فقط erroring بها وعليك وجدت مصدر الخطأ الخاص بك.
إذا كنت لا تزال تواجه مشاكل تحديد السبب الدقيق للمشكلة يمكن أن توفر بنية الجدول مشكلتك في SQL وأيضا ما هو إصدار عقيدة كنت تعمل معها.