5

私が本当に探しているのは、さらに変更できる軽量のデータベース スナップショットに相当するものです。

データベースは巨大になる可能性がありますが、スナップショット自体は小さく、親との関係を維持する必要があります。

このようなものを使えば、基本的にブランチごとにデータベースを持つことができます。また、本番環境にほぼ直接影響するテスト環境にも使用できますが、本番環境に影響を与える可能性はありません。

リレーショナル データベースの実装または拡張に最も関心があります。しかし、何に対してもオープンです。

4

3 に答える 3

0

考え:分岐の概念を含むリレーショナル データベース システムも見たことがありません...概念自体は非常に有用なように思えますが。

Microsoft Team Foundation Server + Visual Studio 2010 (Premium または Ultimate エディションのみ) には、「データベース プロジェクト」によるソース管理とのデータベース開発統合があることを知っています。他のバージョン管理システムにも同様の機能があると確信しています...しかし、これは軽量または組み込みのDBバージョン管理システムに関するあなたの質問には答えません。(したがって、これは技術的な回答ではありません。基本的な質問の解決に役立つ情報です)。

簡単な検索でいくつかの有用な関連記事が見つかりましたが、この要求に正確に答えているようには見えません:

  1. RedGate SQL ソース管理 3.0
  2. 「データベースのバージョン管理 - 分岐とマージ」 - OdeToCode.com 2008

RedGate は、Microsoft SQL Server、Oracle、およびおそらくその他のデータベース ソリューション向けのソリューションを開発する一流の DB ツール会社です。問題は、RedGate SQL Source Control 3.0を使用すると、SSMS (Microsoft SQL Server Management Studio) 内でバージョン管理システムを操作できるようになりますが、それ自体が DB VCS (バージョン管理システム) ではないことです。彼らのウェブサイトからの抜粋:

SQL ソース管理は、データベースをソース管理できるようにする SQL Server Management Studio のアドインです。したがって、SQL ソース管理は、ワークフローに影響を与えたり、新しい開発プロセスを必要としたりすることなく、ソース管理の変更管理とコラボレーションの利点をデータベース開発にもたらします。注: SQL ソース管理はソース管理システムではありません。データベースを既存のソース管理システムに保存できます。

于 2012-05-14T15:40:48.790 に答える
0

どの RDBMS にも分岐は存在しないと思います。取得できる最も近い方法は、バックアップと復元、または新しいデータベースへの BULK INSERT を介してデータベース全体を複製することです。

ブランチごとにターゲット データベースのスキーマを複製し、そこに「差分」(つまり、編集されたレコード) を格納することで、独自のブランチ システムを作成することもできますが、その場合、両方のデータベースにわたってクエリを実行し、編集の競合を解決し、一意のデータベースに降りる必要があります。レコードを挿入または削除するときが来たら地獄の輪。

個人的には、一次テスト用に完全/部分的なクローンを使用し、スキーマを編集しているブランチ用に小さなサブセットを使用します。

于 2012-05-11T17:38:56.460 に答える