あちこちの記事をいくつか読んだ後、開発チームにおけるデータベースのバージョン管理が実際に非常に重要であることに気付きました。
これまでdump whole database
、更新があるたびに単純なものを使用してきました.1つのテーブルのみが変更された場合、単一のテーブルをダンプしてから再インポートするだけで済む場合があります. 最高ではありませんが、追加の変更については非常にうまく機能しており、まだ問題はありません.
ここで、.mwb (Mysql Workbench diagram)
作業中のプロジェクトの git リポジトリにファイルを保存します。次に、git と一緒にdbv forも使用しますschema management
。各ブランチはプロジェクトに基づいて名前が付けられており、非常にうまく機能しています。これにより、元に戻すまたはロールバックする機能を使用して回路図の変更をバージョン管理できます。
ただし、テーブルに含まれるデータはどうでしょうか。これはどのように維持できますか?たぶん、私は古い方法に固執する方が良いでしょう。DB 構造が同じでデータが異なるプロジェクトについては理解していますが、バージョン管理と管理が必要な特定のデータベース データを含むサイトについてはどうでしょうか。
また、データベースの変更が必要な既に展開されているサイトのベースについてはどうでしょうか。これをシームレスにするにはどうすればよいでしょうか。update/alter スクリプトの使用を提案する人もいますが、これはデフォルト値などで問題なく動作します。しかし、すべての Web サイト データベースを変更する必要がある Web サイト プラットフォームに変更を加え、データをそのまま維持した場合はどうなるでしょうか。