0

2 つの MySQL データベース DB1 と DB2 があります。DB1には、膨大な数の列を持つテーブルが1つしかありません。このデータはすべて転送され、DB2 のいくつかのテーブル (たとえば 2 つ) に分割されて格納されます。

For example, DB1 has a table1 which looks like

        Student_Name   Id   Address   Attendance   Marks
        ------------   --   -------   ----------   -----
        John            1   90th st       70         90

The records that are transferred from DB1.table1 are stored in DB2.table and DB2.table2 in the following manner

DB2.table 1: Id   Student_Name   Address   
             --   ------------   -------
             1     John          90th st


DB2.table 2: Id   Attendance   Marks
             --   ----------   -----
             1     70            90

DB2 は、DB1 からの新しいレコードで毎日更新されます。ここで、何らかの理由で DB1 から DB2 にレコードがコピーされていないかどうかを確認するためのテスト ケースを作成したいと思います (例: Id が欠落している場合、レコードはコピーされません)。

この種のテストケースを書いたことはありません。助けが必要です。または、テストを開始する方法などの計画を誰かが提案できますか。これを行うために使用できるツールはありますか?

前もって感謝します

4

2 に答える 2

0

これが変換プロセスの一部としてのQAの場合は、DB1を現在の形式でエクスポートしてから、DB2をDB1と同じ形式でエクスポートします。を使用しdiffます。

オンラインで実行する場合は、DB2に「conversion_date」列を配置して、@zebediah49から提供されたクエリで調べる必要のあるレコードの数を制限します。

または、DB1を更新してレコードを「受信済み」としてマークするDB2のトリガーはどうでしょうか。

世界はあなたのカキです。

于 2012-09-17T17:45:40.127 に答える
0

これはリソースを消費しますが、次のことを行います。

SELECT * FROM DB1.table1 WHERE id NOT IN (SELECT id FROM DB2.table1 UNION SELECT id FROM DB2.table2);
于 2012-09-17T17:13:57.673 に答える