データベースをgit(バージョン管理)下に置くにはどうすればいいですか? 質問する

データベースをgit(バージョン管理)下に置くにはどうすればいいですか? 質問する

私は Web アプリを作成しており、いくつかの大きな変更のためにブランチを作成する必要があります。問題は、これらの変更にはデータベース スキーマの変更が必要なため、データベース全体も Git の下に置きたいということです。

どうすればいいですか? Git リポジトリの下に保存できる特定のフォルダーはありますか? どのフォルダーかはどうすればわかりますか? 正しいフォルダーを置いていることをどうやって確認できますか?

これらの変更には下位互換性がないため、確認する必要があります。失敗するわけにはいきません。

私の場合のデータベースはPostgreSQLです

編集:

バックアップを取って、そのバックアップ ファイルをデータベースではなくバージョン管理下に置くことを提案する人がいました。正直言って、それは本当に受け入れがたいことです。

もっと良い方法があるはずだ。

アップデート:

わかりました。他に良い方法はありませんが、まだ納得できないので、質問を少し変えます。

データベース全体をバージョン管理下に置きたいのですが、ダンプではなく実際のデータベースをバージョン管理下に置くには、どのデータベース エンジンを使用すればよいでしょうか?

sqlite は git と相性が良いでしょうか?

これは開発環境のみなので、任意のデータベースを選択できます。

編集2:

私が本当に望んでいるのは、開発履歴を追跡することではなく、「新しい根本的な変更」ブランチから「現在の安定したブランチ」に切り替えて、現在の安定したブランチでいくつかのバグや問題などを修正できるようにすることです。ブランチを切り替えると、データベースは自動的に現在のブランチと互換性を持つようになります。実際のデータについてはあまり気にしません。

ベストアンサー1

代わりにデータベースのダンプを取り、それをバージョン管理します。この方法では、フラットなテキスト ファイルになります。

個人的には、データ ダンプとスキーマ ダンプの両方を保存することをお勧めします。このようにして、diff を使用すると、リビジョン間でスキーマに何が変更されたかを確認するのがかなり簡単になります。

大きな変更を行う場合は、ブランチを作成しているため、新しいスキーマ変更を行うセカンダリ データベースを用意し、古いデータベースには触れないようにする必要があります。

おすすめ記事