Visual Studio 2013/15 で SQL Schema Compare を使用しようとしていますが、テーブルを削除から除外すると、テーブルがまったく処理されなくなるという問題が発生しています。
問題は、削除しようとしているテーブルが顧客が作成したテーブルであるため、バージョンをデータベースと同期すると、それらを削除するように求められることです。それらを削除したくはありませんが、それらのテーブルの一部には制約があるため、CCDR を試行すると、テーブルの制約のために失敗します。テーブルを追加する方法はありますか (再作成しますか?残りのテーブルと同様に?)、SQL スキーマ比較がそれらの少数のテーブルに対して既に行っていることを実行するスクリプトを各クライアントに記述しませんか?
Red-Gate の SQL Compare は何らかの方法でこれを行いますが、私たちには隠されているため、どのように達成されたのかはよくわかりません。除外しても削除されませんが、スクリプトでエラーも発生しません。
アップデート:
オプション「ドロップ制約をソースにない」が正しく機能していないようです。一部は削除されますが、制約が削除されないものもあります。red-gate のツールを比較したところ、そこから SQL を取得する方法が見つかりました。Visual Studio のツールでは、テーブルを更新する必要があるとはまったく言われていません。それらはほとんど同じように動作するように見えますが、失敗するテーブルはまったく更新されるべきではないものです (以下をお読みください)
更新 2:
私が見つけたもう1つの問題は、「列の照合を無視する」も正しく機能しないことです。実際の列やデータではなく、列の変更の順序であっても、削除されるべきではないテーブルが更新される必要があると言われているためです。これにより、これは何よりもバグレポートのように感じられます。