4.06.1 比較レポート

比較レポートは、2つの異なる分析を比較するものです。このレポートの通常の用途は、同一のソリューションの違う時点での2つのバージョンを比較し、最初のバージョンからどこが変更されたかを確認することです。

このレポートを実行するには、古い分析と新しい分析を選択し、分析の中の古いファイルと新しいファイルを選択します。名前やIDで比較するオプションもあります。

名前で比較する

名前での比較では、古いファイルと新しいファイルを比較する際に、レイアウト、スクリプト、フィールドなどの名前が使用されます。たとえば、古いファイルにある「Startup」という名前のスクリプトは、新しいファイルの「Startup」というスクリプトと比較されます。新しいファイルで「Startup Process」とスクリプトの名前を変更したとすると、これは新しいスクリプトであり古いスクリプトは削除されたと扱われます。

IDで比較する

IDで比較するオプションでは、比較の基準として項目の内部IDが使用されます。内部IDはFIleMakerの中で使われているもので表示されてはいませんが、すべてのレイアウト、スクリプト、テーブルにユニークなIDがあります。IDは作成の際に設定され、変更できません。ただし、ファイルをいちから作り直した場合を除きます。

なぜ選択できるようになっているのか?

先週作業をしたファイルの分析があると仮定します。そのファイル自体に対して変更を加え、新たに分析を実行したら、どこが変わったかを知りたいと考えるでしょう。このような場合に、IDで比較します。作業前と作業後のファイルは同じものなので、名前を変更したオブジェクトは名前が変更されたと扱われます。削除されて新たに作られたと扱われるのではありません。IDは変更されていないからです。ほとんどの場合、IDによる比較が便利です。

ただし、名前で比較したい場合もあります。オフラインで開発したソリューションがあるとします。現行バージョンと開発バージョンのデータベースがあり、開発バージョンでは変更もテストも調整もたくさん行っています。最終的に納得のいくものになったら、これらの変更を現行バージョンに対して同じように加えることで移行します。

開発中のファイルで「フィールド1」(ID 100)と「フィールド2」(ID 101)を作り、その後で気が変わったとします。「フィールド2」を削除して、「フィールド2新規」(ID 102)を作ります。現行のファイルでこれらの新規フィールドを追加するときには、「フィールド1」(ID 100)と「フィールド2新規」(ID 101)だけを作ります。作成してから削除したフィールドを作る必要はありません。フィールドのID(すべてのフィールドに割り振られている、表示されないユニークなID)は、この状態では同期しません。ここから同じように変更を加えても、内部IDを見ている場合にはダミーのフィールドを作って削除しない限りは同期しません。同じことは、スクリプト、レイアウト、テーブルなどにも当てはまります。

このようなケースでは、内部IDにかかわらず「機能的に」同じファイルにしたいはずです。言い換えれば、必要なのは「フィールド1」と「フィールド2新規」だけであり、この2つのフィールドに対する計算式や設定はまったく同じにします。そうすれば、ファイルの動作はまったく同じになり、データは一方のファイルからもう一方へ問題なく移行できます。同じになれば、現行ファイルへの変更は正確に複製されたということになります。

このような場合に名前で比較することで、内部IDが一致するかどうかにかかわらず、ファイルの動作が同じであることが確認できます。

比較レポートに含まれないもの

比較レポートは機能的な違いを見るだけであり、外観の違いは見ていません。たとえば、あるフィールドがあるレイアウト上に使われているかどうかはわかります。同じレイアウト上でフィールドが移動されたこと、同じフィールドがコピーされて追加されていること、フィールドのスタイルが変更されたことなどはわかりません。