現在、自動開発者展開センターの一部としてSourceControl製品をレビューしています。
開発者に依存するのではなく、プログラムでDBをソース管理にリンクできるようにしたいと考えています。これはRedGateSVNで可能ですか?もしそうなら、どのように?
ありがとうDavid
現在、自動開発者展開センターの一部としてSourceControl製品をレビューしています。
開発者に依存するのではなく、プログラムでDBをソース管理にリンクできるようにしたいと考えています。これはRedGateSVNで可能ですか?もしそうなら、どのように?
ありがとうDavid
データベース全体(データとスキーマ)の完全なスナップショットを取得し、既存のソース管理と非常に簡単に統合できるOffScaleDataGroveなどの製品を使用できます。
次のコマンドを呼び出して、コミット時にデータベースにタグを付けるためのフックを作成します。
datagrove tag -n=<svn-tag-id>
また、チェックアウト時にコミットに一致するデータベースを自動的に取得する場合は、SVNフックを使用して以下を発行します。
datagrove unload
datagrove load -n=<svn-tag-id>
DataGroveは使いやすく、データベースの管理を処理するため、その必要はありません。現在入手可能なバージョンは、無料でダウンロードして使用できます。
Red-GateのSQLCompareProのコマンドラインを使用して、探していることを実行できるはずです。データベースのスクリプトを作成し、データベース内の変更されたオブジェクトに関連付けられているファイルのみを変更できます。
しかし、あなたが考えているプロセスは有益ではないようです。データベースから変更を自動的にチェックインすると、変更の途中で何かが検出され、ソースコードリポジトリが無価値になる可能性があります。代わりに、変更が完了したら、開発者にコードをチェックインさせる必要があります。
チェックインを忘れるのが心配な場合は、継続的インテグレーション環境をセットアップしてください。これにより、リポジトリからデータベースが再構築され、それに対してテストが実行されます。これにより、すべてのオブジェクトがソース管理されていることを確認できます。
データベースコードの自動テストがまだない場合は、tSQLtを確認してください。これは、テストの作成を簡単にするSQLServerのテストフレームワークです。これはオープンソースであり、ここで入手できます 。tSQLt –SQLServerのデータベース単体テストフレームワーク。また、テストの作成方法や、そのサイトでtSQLtとの継続的インテグレーションを設定する方法についても多くの情報があります。