4

わかりました、2 つのデータベースがあるとします。1 つは、さまざまなリビジョンを通過するマスター テンプレートとして使用します。たとえば、現在リビジョン 3 を使用しているとします。しかし、2 番目のデータベースは、リビジョン 1 のテンプレートのコピーです。

db 2 が使用されているため、テーブルを削除したくありませんが、db 全体の構造を db 1 の最新バージョンに更新する必要があります。

手動ですべて同じ変更を何度も (さまざまなバージョンの多くのデータベースで) 行う必要がなく、データを失うことなくこれを行う方法はありますか?

一部のデータが無効になっているなどの理由で、データの整合性が問題であることはわかっていますが、それを上書きする方法はありませんか?

理想的には、db 1 の構造の mysqldump を使用して、すべてのデータを失うことなく、db 2 の競合するテーブルを db 1 の新しいバージョンで上書きできるようにしたいだけです。phpmyadmin でこれを行う方法があれば、それは素晴らしいことです。

4

2 に答える 2

2

MySQL ワークベンチを試すことができます。それはあなたがすることを可能にします

  1. MySQL データベースからスキーマを作成します。
  2. データベース バージョン 3 をリバース エンジニアリングして、スキーマを MySQL ワークベンチにインポートします。
  3. 次に、db バージョン 1 のスキーマと比較してSQL alterスクリプトを生成します。
于 2009-10-06T11:56:50.457 に答える
0

DB コネクタがそれを行うか (一部の Python フレームワークは DB を進化させることができます)、手動で行う必要があります。

手動で行う必要がある場合、最良の方法は、スクリプトからのデータを使用してデータベース全体を作成できるようにすることです。これは完全に自動化されている必要があります。ベース バージョンを作成したら、スクリプトを次々と適用して DB を進化させます (テーブルの変更など)。

自動テストでこれを行うと、お客様のサイトで次のバージョンをインストールするときに DB を自動的に移行できます。

于 2009-10-06T11:59:48.843 に答える