2009-04-19 13 views
3

私はすべてのテストと作業を行うローカルサーバーを持っています。私が完了したら、dbスキーマを関連するコードとともにアップロードするだけです。しかし、私はスキーマにいくつかの変更を加えたときに問題が発生します。私は手動で私のライブサーバー上で "alter table"クエリをタイプする必要があります。Php Db同期

dbスキーマで増分変更を適用して新しいスキーマを適用する方法はありますか?または手動で追跡する必要がありますか?

私がmysqldumpを使用すると、最終的なデータベースのスキーマが生成されます(alter tableなどではありません)。

ありがとうございました。

答えて

0

MySQL Workbenchでは、ALTERスクリプト(ファイル - >エクスポート - >フォワードエンジニアSQL ALTERスクリプト)をエクスポートできます。最初に既存のデータベースをインポートし、そのデータベースに変更を適用する必要があります。商用バージョンでは、実際のデータベースをリバースエンジニアリングすることができます。コミュニティでは、代わりにCREATEスクリプトをインポートします(既存の構造を単純にダンプします)。あるいは、DBDesigner 4でライブデータベースをリバースエンジニアリングして、XMLモデルファイルにすべて保存して終了しますが、デフォルトの文字セットなどを失うことになります。

2

新しいコードとともに本番サーバーに送られるデルタSQLスクリプトを保持します。私はバージョンXからバージョンYへのアプリケーションの変更が "自動"になるようにすべてをスクリプト化します。 Some people also have undo scripts何か問題が生じた場合に備えて。

1

あなたが開発した変更を保存するのはどうですか。これらの変更をグループとしてテストしてみてください。