سؤال

أعلم أنه يمكنني نسخ جميع كود MySQL يدويًا إلى الملفات ثم وضع هذه الملفات في عنصر تحكم المصدر. ولكن هل هناك أي طريقة للقيام بذلك تلقائيًا؟

أرغب في القيام بذلك للإجراءات المخزنة ، ولكن أيضًا إلى البرامج النصية لإنشاء الجدول/الحدث/الزناد.

هل كانت مفيدة؟

المحلول 2

بناءً على إجابة ميشال ، فإن الحل الذي أستخدمه حتى الآن هو:

#!/bin/bash
BACKUP_PATH=/root/database_name
DATABASE=database_name
PASSWORD=Password
rm -f "$BACKUP_PATH/*.sql"
mysqldump -p$PASSWORD --routines --skip-dump-date --no-create-info --no-data --skip-opt $DATABASE > $BACKUP_PATH/$DATABASE.sql
mysqldump -p$PASSWORD --tab=$BACKUP_PATH --skip-dump-date --no-data --skip-opt $DATABASE
hg commit -Am "automatic commit" $BACKUP_PATH

نصائح أخرى

يمكنك إنشاء مشغلات على تغيير البيانات ، والتي من شأنها تخزين التغيير تلقائيًا إلى بعض التحكم في المصدر. ومع ذلك ، لا توجد طريقة تلقائية لتتبع تغييرات الهيكل (الجداول والإجراءات المخزنة وما إلى ذلك) بهذه الطريقة. لذلك ربما تكون أفضل طريقة هي تفريغ قاعدة البيانات وتخزينها في التحكم في المصدر. يمكنك القيام بذلك بشكل دوري لأتمتة الأشياء.

لا تفهم حقًا ما تحاول القيام به.

ينظر الى liquibase, ، ربما سيفعل ما تحتاجه ...

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