مزامنة النموذج في طاولة عمل MySQL
-
27-09-2019 - |
سؤال
بعد قراءة وثائق Workbench MySQL ، حصلت على انطباع بأنه من الممكن تغيير قاعدة بيانات في الخادم (على سبيل المثال ، أضف عمودًا جديدًا) ودمج تغييرات DDL لاحقًا في مخطط EER الخاص بك. على الأقل ، لديه مزامنة النموذج الخيار في قاعدة البيانات قائمة. لقد وجدت أنها ميزة رائعة لأنني يمكنني استخدام أداة نمذجة الرسوم دون أن أصبحت سجينها.
في الممارسة العملية ، عندما أقوم بتشغيل هذه الأداة ، عرضت هذه الخيارات:
Model Update Source
================ ====== ======
my_database_name --> ! N/A
my_table_name --> ! N/A
N/A --> ! my_database_name
N/A --> ! my_table_name
لا أستطيع أن أفهمها حقًا ، لكن تركها كما أحصل على:
DROP SCHEMA my_database_name
CREATE SCHEMA my_database_name
CREATE TABLE my_table_name
هذا هو تفريغ النموذج الذي يكتب كل التغييرات عن بُعد في my_table_name.
هل أسيء فهم الميزة؟
المحلول
بصدق؟ أعتقد أنه خطأ. لقد واجهت نفس المشكلة في عدة مناسبات ولست متأكدًا من المشكلة.
أقترح التحقق من مستودع الأخطاء وإذا لم تجد أي شيء ، فأبلغ عن هذا كإحدى جديدة.
نصائح أخرى
هنا هو الخطأ الحقيقي الذي يمكنك متابعته. http://bugs.mysql.com/bug.php؟id=61211 وهناك حل بديل من أحد شعب MySQL QA:
يتمثل الحل البديل في فتح قشرة البرمجة النصية ، وفحص اسم المخطط وتأكد من أن حقل الاسم القديم يحتوي على نفس الاسم مثل ما تحاول مزامنته. أوامر لذلك هي:
# print current oldName value
print grt.root.wb.doc.physicalModels[0].catalog.schemata[0].oldName
# change the oldName field value
grt.root.wb.doc.physicalModels[0].catalog.schemata[0].oldName = "newname"
أنا دائما أستخدم التزامن ناجح عدة مرات! لكن اليوم لدي نفس المشكلة - وأتساءل الطريق؟
لذلك أدرس التقرير من قبل MySQL وأجد المشكلة ...
لا تستخدم القبعات أو السفار في اسم قاعدة البيانات
و كذلك أنا:
- إعادة تسمية قاعدة البيانات الخاصة بي ،
- تغيير اسم النموذج في "نظرة عامة على النموذج"
- وتغيير اسم المخطط الافتراضي ، استخدم في "خيارات الاتصال".
ويعمل! ... الآن عليّ تغيير اسم قاعدة البيانات في ApplicationConfig ...