3

すべての MySQL コードを手動でファイルにコピーし、それらのファイルをソース管理に入れることができることを知っています。しかし、これを自動的に行う方法はありますか?

これをストアド プロシージャだけでなく、テーブル/イベント/トリガー作成スクリプトにも適用したいと考えています。

4

3 に答える 3

4

データ変更時にトリガーを作成できます。これにより、変更が自動的にソース管理に保存されます。ただし、この方法で構造の変更 (テーブル、ストアド プロシージャなど) を自動的に追跡する方法はありません。したがって、おそらく最善の方法は、データベースをダンプし、これらのダンプをソース管理に保存することです。これを定期的に実行して、物事を自動化できます。

于 2010-04-27T12:25:46.263 に答える
4

Michalの回答に基づいて、これまでに使用しているソリューションは次のとおりです。

#!/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
于 2010-04-27T13:40:18.547 に答える
1

あなたがやろうとしていることを本当に理解していません。

Liquibaseを見てください。おそらく、必要なことを実行します...

于 2010-04-27T13:43:04.710 に答える