java - دون استخدام hibernate.hbm2ddl.auto، كيف يمكنني تصدير جميع المخطط الأولي في فلايواي؟




java-ee flyway (3)

أنا في مرحلة جاهزة تقريبا من التنمية جي بلدي. مع الكثير من التوصية عدم استخدام hbm2ddl.auto الإسبات في الإنتاج، قررت إزالته.

حتى الآن، لقد اكتشفت حول فلايواي، الذي يبدو كبيرا للتغيرات ديسيبل المستقبلية والهجرة، ولكن أنا عالقة في الخطوة الأولى: لدي العديد من الكيانات، وبعض الكيانات ترث من الكيانات الأساسية. وهذا يجعل العبارة كريت معقدة للغاية.

ما هي أفضل الممارسات لإنشاء ملف الترحيل الأول؟

شكر!


أنا لست متأكدا من فلايواي ولكن هناك طريقة بديلة، يمكنك استخدام المهام النملة لالسبات لتوليد أو تحديث المخطط.

نأمل أن يساعد.



إذا كنت قد اتخذت نهج "الكيانات أولا" أثناء التنمية ستحتاج إلى إنشاء المخطط الأولي في نفس الطريق لأول نشر مباشر: وهذا سوف ينتج السيناريو خلق الأولى المستخدمة من قبل فلايواي وربما يكون هناك حاجة أيضا أن تكون البرنامج النصي الثاني المرتبط بملء البيانات المرجعية.

وباختصار، فإن الأسباب التي لم تعد قادرة على استخدام hbm2ddl.auto بعد النشر الأول هي التي create سوف تدمر البيانات الموجودة update غير موثوق بها بما فيه الكفاية لتغطية جميع أنواع التغييرات مخطط (كما يبدو كما كنت قد تعرف بالفعل من هذا السؤال سو ).

فلايواي هو أداة مفيدة جدا ولكنها تتطلب مستوى من الانضباط التي قد لا تكون موجودة أثناء التنمية. عند المضي قدما من الإصدار الأولي، يجب أن يتم إنتاج البرامج النصية تحديث قاعدة البيانات ل فليواي التي تعادل التغييرات التي أجريت على الكيانات منذ الإصدار الأخير. هناك أدوات (مثل المنتجات التجارية المختلفة من ريدجات ) التي يمكن أن تساعد هنا: هذه محاولة "ديف" اثنين من المخططات وتوليد المخططات و / أو تحديث البيانات النصية للوصول من قاعدة البيانات A إلى قاعدة البيانات B. ولكن في تجربتي، لا شيء منهم هي مثالية وأنها لا تصل تماما إلى الكأس المقدسة من تمكين نهج الآلي تماما.

يمكن القول إن أفضل طريقة هي نهج "كما تذهب" اليدوي للتأكد من أن البرامج النصية التحديث غير المدمرة ملتزمة تحكم المصدر كلما تم إجراء تغيير الكيان الذي يؤثر على المخطط أو البيانات المرجعية - ولكن كما سبق ذكره، وهذا يتطلب بعض والانضباط و / أو عمليات موثقة لجميع أعضاء الفريق لمتابعة.







flyway