質問: データベースをgit(バージョン管理)の下に置くにはどうすればよいですか? 私はwebアプリをやっていますが、いくつかの主要な変更のためにブランチを作成する必要があります、つまり、これらの変更にはデータベーススキーマの変更が必要なので、データベース全体もgitの下に置きたいと思います。それ、どうやったら出来るの? gitリポジトリの下に保持できる特定のフォルダーはありますか?どれを知るのですか?適切なフォルダーを配置していることを確認するにはどうすればよいですか?これらの変更には後方互換性がないため、確認する必要があります。私は台無しにする余裕はありません。私の場合のデータベースはpostgresqlです編集:誰かがバックアップを取り、バックアップファイルをデータベースではなくバージョン管理下に置くことを提案しました。正直に言うと、それを飲み込むのは本当に難しいと思います。より良い方法が必要です。更新:ok、それで良い方法はありませんが、私はまだ完全に納得していませんので、質問を少し変更します:データベース全体をバージョン管理下に置きたいのですが、実際のデータベースをダンプではなくバージョン管理下に置くために、どのデータベースエンジンを使用できますか?sqliteはgitフレンドリーですか?これは開発環境にすぎないため、必要なデータベースを選択できます。編集2:私が本当に望んでいるのは、開発履歴を追跡するのではなく、「新しい根本的な変更」ブランチから「現在の安定ブランチ」に切り替えて、たとえば現在のバグ/問題などを修正できるようにすることです安定したブランチ。そのため、ブランチを切り替えると、データベースは自動的に現在のブランチと互換性を持ちます。実際のデータについてはあまり気にしません。
回答: アトミック性なしではできません。また、pg_dumpまたはスナップショットファイルシステムを使用せずにアトミック性を取得することはできません。私のpostgresインスタンスはzfs上にあり、時々スナップショットを撮ります。ほぼ瞬時に一貫性があります。