0

レガシーアプリケーション(php + mysql)から書き換えられたバージョン(sql server 2008およびmvc3)にデータをインポートしています。私は現在、db同期/変換パッケージを作成している最中です。

mysqlデータには主キーがありますが、何らかの理由で外部キーがありません。データはまだリレーショナルであるため(外部キーがないにもかかわらず)、変換パッケージはIDENTITY_INSERT ON/OFFを使用しています。ソースデータにはデータの整合性を強制する方法がないため、挿入を実行してIDENTITY_INSERTをOFFにした後、整合性チェックを実行したいと思います。

そのアクションをスクリプト化する良い方法はありますか?できればデータベース全体ではなくテーブルレベルで?

ありがとう。

4

1 に答える 1

1

個人的には、新しいスキーマにインポートする前に、どのデータに整合性がないかを判断します。各子テーブル(または子テーブルとして設計されたもの)に対する単純なWHERENOTExistsクエリがそれを行います。親レコードに関連付けることができないデータはインポートしません。ただし、例外テーブルを作成してそれらのレコードをそのテーブルに移動し、一部のユーザーに親データがどうあるべきかを理解できるかどうかを確認してもらいます。

于 2011-10-24T14:35:28.040 に答える