かなり大きくて複雑なDBがあり、フィールドでバージョン1からバージョン2にアップグレードする必要があります。2つの間でスキーマと重要なデータに多くの変更があります。
はい、これはバージョン管理されたアラである必要があることを私は知っています:http:
//www.codinghorror.com/blog/2008/02/get-your-database-under-version-control.html
しかし、そうではありませんでした-そうなるでしょう私が終わったとき。
したがって、現在の問題は、すべてのコミットを実行するか、2つのバージョンのデータベースを比較しようとするかの選択に直面しています。これまでに試したことがあります:http:
//opendbiff.codeplex.com/
http://www.sqldelta.com/
http://www.red-gate.com/
ただし、同時にデータを実行しないため、スキーマアップグレードスクリプトを正常に生成できないようです。これにより、参照するテーブルが新しいため、テーブルに新しいキーを追加するときに外部キー違反が発生します。テーブルのスキーマは作成されていますが、テーブルに含まれるデータは作成されていません。可能性はありますが、ツールの別の部分を使用してから、2つのスクリプトを組み合わせる必要があります。
これは次のようなもののように見えるかもしれません
。2つのSQLServerデータベース(スキーマとデータ)を比較するのに最適なツールは何ですか?
これは、私が試した既存のツールのほとんどを見つけた場所ですが、これまでのところ、これらのツールを使用して、動作するスキーマ移行スクリプトを作成することはできませんでした(データについてはあまり気になりませんが、外部キーに必要なデータが必要です-古いバージョンと新しいバージョンをデプロイしたので、どのtbhがすべての違いです)。
期待しすぎですか?私はあきらめて、私が持っているものを手動で縫い合わせる必要がありますか?または、すべてのコミットを実行して、アップグレードスクリプトを手動で作成しますか?