ويويو-الهجرات هو أداة قاعدة بيانات الهجرة مخطط باستخدام SQL عادي و-API DB.
ماذا-الهجرات يويو تفعل؟
مع تطور تطبيقات قواعد البيانات، وغالبا ما يتطلب تغييرات على مخطط قاعدة البيانات. وعادة ما يمكن أن يكتب هذه كما لمرة واحدة البرامج النصية SQL التي تحتوي على إنشاء / تغيير بيانات الجدول (على الرغم من أي برنامج نصي SQL أو الثعبان يمكن أن تستخدم مع يويو-الهجرة).
يويو-الهجرات يوفر أداة سطر الأوامر لقراءة دليل من هذه النصوص وتطبيقها على قاعدة البيانات الخاصة بك على النحو المطلوب.
دعم قاعدة البيانات
ويدعم قواعد بيانات الإنترنت، MySQL و سكليتي.
استعمال
عادة يتم استدعاء يويو-الهجرات كبرنامج نصي سطر الأوامر.
الأمثلة على ذلك:
قراءة جميع الهجرات من الهجرات الدليل وتطبيقها على قاعدة بيانات كيو:
يويو-ترحيل تنطبق ./migrations/ بوستجرس: // المستخدم: كلمة المرور @ مضيف محلي / قاعدة بيانات
تطبق هجرات التراجع سابقا إلى قاعدة بيانات MySQL:
يويو-ترحيل التراجع ./migrations/ الخلية: // المستخدم: كلمة المرور @ مضيف محلي / قاعدة بيانات
تطبيق (أي التراجع ثم تطبيق مرة أخرى) الهجرات إلى قاعدة بيانات SQLite في موقع /home/sheila/important-data.db:
يويو-الهجرة سكليتي ./migrations/ إعادة تطبيق: ////home/sheila/important-data.db
افتراضيا، والهجرات يويو-تبدأ في الوضع التفاعلي، ويطلب منك لكل ملف الهجرة قبل تطبيقه، مما يجعل من السهل لاختيار أي الهجرات لتطبيق والتراجع.
وينبغي أن يتضمن الدليل الهجرات سلسلة من البرامج النصية الهجرة. كل برنامج نصي الهجرة هو ملف الثعبان (.py) التي تحتوي على سلسلة من الخطوات. ينبغي أن تشمل كل خطوة استعلام الهجرة و(اختياريا) استعلام التراجع. على سبيل المثال:
#
# ملف: الهجرات / 0001.create-foo.py
#
خطوة (
على & nbsp؛ "CREATE TABLE فو (INT الهوية، وشريط VARCHAR (20)، PRIMARY KEY (معرف))"،
على & nbsp؛ "DROP TABLE فو"،
)
يتم استخدام اسم كل ملف (بدون تمديد .py) كمعرف لكل الهجرة. وتطبق هجرات من أجل اسم الملف، لذلك فمن المفيد أن تسمية الملفات الخاصة بك باستخدام التاريخ (على سبيل المثال '20090115-xyz.py') أو مع عدد تزايد أخرى.
يويو-ترحيل بإنشاء جدول في قاعدة البيانات الهدف الخاص بك، _yoyo_migration، لتعقب الهجرات التي تم تطبيقها.
قد الخطوات أيضا تأخذ ignore_errors حجة اختياري، التي يجب أن تكون واحدة من تطبيقها، العودة، أو جميعها. إذا في المثال السابق قد تم بالفعل خلق فو الجدول عن طريق آخر، ويمكن أن نضيف ignore_errors = 'تطبيق' إلى الخطوة للسماح للهجرات أن يستمر بغض النظر:
#
# ملف: 0001.create-foo.py
#
خطوة (
على & nbsp؛ "CREATE TABLE فو (INT الهوية، وشريط VARCHAR (20)، PRIMARY KEY (معرف))"،
على & nbsp؛ "DROP TABLE فو"،
على & nbsp؛ ignore_errors = 'تطبيق'،
)
يمكن أيضا أن تكون الخطوات الثعبان الأجسام المستحقة التي تأخذ اتصال قاعدة البيانات كما حجتهم واحدة. على سبيل المثال:
#
# ملف: 0002.update_keys.py
#
do_step مواطنه (كونيتيكت):
على & nbsp؛ المؤشر = conn.cursor ()
على & nbsp؛ cursor.execute (
على & nbsp؛ "INSERT INTO سسنفو"
على & nbsp؛ "(osname، اسم المضيف، الإصدار، الإصدار، وقوس)"
وnbsp؛ "كرة VALUES (٪ ق، ق٪،٪ ق، ق٪،٪ ق٪ ق)"،
على & nbsp؛ os.uname ()
على & nbsp؛)
خطوة (do_step)
أمان كلمة المرور
كنت عادة تحديد اسم المستخدم وكلمة المرور قاعدة البيانات الخاصة بك كجزء من سلسلة اتصال قاعدة البيانات على سطر الأوامر. على جهاز متعدد المستخدمين، يمكن للمستخدمين الآخرين عرض كلمة مرور قاعدة البيانات الخاصة بك في قائمة العملية.
و-p أو --prompt كلمة السر العلم يسبب يويو-ترحيل للمطالبة بكلمة مرور، وتجاهل أي كلمة المحدد في سلسلة الاتصال. وكلمة المرور هذه لا تكون متوفرة للمستخدمين الآخرين عبر قائمة العملية للنظام.
اتصال التخزين المؤقت سلسلة
أول مرة تقوم بتشغيل يويو-الهجرة على مجموعة جديدة من الهجرات، سوف يطلب منك إذا كنت ترغب في ذاكرة التخزين المؤقت سلسلة اتصال قاعدة البيانات في ملف يسمى .yoyo الهجرة في الدليل الهجرات.
ذاكرة التخزين المؤقت هذه المحلي إلى الدليل الهجرات، لذلك تشغيل اللاحقة على نفس مجموعة الهجرة لا تحتاج إلى سلسلة اتصال قاعدة البيانات إلى أن تكون محددة.
وهذا يوفر الكتابة، يتجنب المستخدم قاعدة البيانات الخاصة بك وإظهار كلمة المرور في قوائم العملية ويقلل من خطر تشغيل غير قصد يويو-تهاجر على قاعدة بيانات خاطئة (أي عن طريق بإعادة تشغيل إدخال يويو-الهجرة سابق في التاريخ الأمر عند كنت قد انتقلت إلى دليل مختلف).
إذا كنت لا تريد هذا الملف مخبأ لاستخدامها، إضافة المعلمة -ما لا ذاكرة التخزين المؤقت لخيارات سطر الأوامر
ما هو الجديد في هذا الإصدار:.
إصلاح لسوء إدارة 4.2.3 الافراج
ما هو الجديد في الإصدار 4.2.1:
خلل لإطلاق السابق، والتي حذفت الملفات الهامة.
ما هو الجديد في الإصدار 4.1.6:
واضاف لدعم النوافذ (بفضل بيتر Shinners)
ما هو الجديد في الإصدار 4.1.5:
تكوين معالجات تسجيل بحيث التبديل -v يسبب الانتاج للذهاب إلى وحدة التحكم (بفضل أندرو Nelis).
`` -v`` تبديل سطر الأوامر لم يعد يأخذ حجة ولكن يمكن تحديد عدة مرات بدلا من ذلك (أي استخدام `` -vvv`` بدلا من `` -v3``). `` --verbosity`` يحتفظ السلوك القديم.
ما هو الجديد في الإصدار 4.1.3:
الهجرة الافتراضية تغير اسم الجدول مرة أخرى إلى '_yoyo_migration "
المتطلبات:
بيثون
لم يتم العثور على التعليقات