Subscription)で提供されるツールの1つです。みたブログを3本立てて公開しています。今回のブログでは、その内容を確認してみたいと思います。今回はWindowsで操作をしてみたいと思います。※操作方法はほとんどMacと変わりません。ナレッジベース**準備**・データが入っているカスタムApp(ソースファイル)を用意します。・クローンのカスタムAppを用意します。※クローンファイルは、ファイルメニュー>名前を付けて保存...から「データなしのコピー」を選択することで作成することが可能です。※クローンファイルは一度開いてしまうとクローンではなくなってしまうので注意してください。・fm_data_migration_【バージョン番号】_win.zipをダウンロードし、解凍します。※今回は解凍したフォルダをデスクトップに配置しました。**ヘルプを参照してみる**まずはコマンドプロンプトを立ち上げます。ディレクトリまで移動します。※cdと入力した後に解凍したフォルダをドラッグすると簡単です。ここで一度Enterを押すと下図のように変わります。/?”と入力し、Enterで実行します。すると、下記のような説明が表示されます。**増えているオプションを見てみる**さて、以前の記事と比べて、増えたオプションを確認してみたいと思います。下記の3つが増えています。toolのバージョンを返すものです。上記のように入力し実行すると、下図のように「19.2.2.234」と返ってきました。ヘルプを表示した際に最初に表示されているバージョンと同じデータですね。※こちらのオプションを使うと、データ移行は行われないため、もし他のオプションや設定(「-src_path」や、「-force」など)を入力していたとしても、それらは無視されバージョン情報のみが返ります。19.1.3以降のバージョンで使用できるオプションです。先ほどのヘルプでは下記のように記載がされています。fieldsこのオプションを付けると、計算結果を保存する計算フィールドが移行の際に再評価されるようです。取得関数やRandom関数を用いた計算式を使用していて計算結果を保存する設定がされているフィールドとなります。(V15まであったExternal関数も影響が出る可能性があります。)さて、このオプションを使ってデータ移行をしてみたいと思います。計算フィールドを含む簡単なファイル「TEST.fmp12」を用意しました。クローンファイル「TESTcln.fmp12」も用意し、2つのファイルをデスクトップに配置しています。データ移行を行う際は下記のように入力するようヘルプに記載がされています。下記のように入力して実行してみます。※C:¥Users\<ユーザー名>\Desktop\FMDataMigrationTool_WINまではすでに表示がされている状態かと思いますので、その後ろに下記の内容を記載します。C:\Users\<ユーザ名>\Desktop\TESTcln.fmp12-reevaluate-v※ファイルパスを入力するときには、ファイルをコマンドプロンプトにドラッグするとパスが入力されるので、この方法を利用すると入力が楽になります。(srcファイル名に”migrated”がつく)という名前のファイルが作成されました。コマンドプロンプトに表示される処理内容の中に下記のような記載があります。部分で更新されたフィールドが確認できました。While~の部分で確認ができるようです。計算フィールドで使用することはあまりない関数ではあると思いますが、もし使用している場合はこのようにエラーが発生する可能性がありますのでご注意ください。移行データを確認してみます。11:05に移行してみたところ、上記のようにデータが変わりました。確かに再評価が実行されていることがわかります。どのようなデータが入るのか気になったので少し調べてみました。Get(アクティブレコード番号)や、Get(ウインドウ名)、Get(レイアウト名)など、コンテキストに関わる情報は取得できず、空となりました。(03-07-2021)”という値が取得されました。toolで取得される特殊なデータのようです。データ移行の際は、ソースと全く同じデータになるように移行するということが基本的な条件となると思うので、計算フィールドの再評価をするこのオプションはなかなか使う機会がないかもしれませんが、このようなオプションがあるということを知っていると、より色々な場面に対応できるようになるかと思います。19.1.3以降のバージョンで使用できるオプションです。先ほどのヘルプでは下記のように記載がされています。indexesこのオプションを付けると、全てのフィールドの索引が再構築されるようです。こちらについても確認をしてみたいと思います。日本郵便のHPからダウンロードできる郵便番号簿のCSVデータをFileMakerに変換したファイルをソースとして使用します(KEN_ALL.fmp12)。郵便番号簿のCSVデータには項目名が含まれていなかったためフィールド名が「f1」~「f15」でフィールドが作成されたのですが、そのうちの「f1」~「f5」フィールドに索引の設定をしました。(KEN_ALL_cln.fm12)を作成し、データ移行を実行しました。–でf1~f5のフィールド索引が再構築されたことが処理に記載されています。索引設定がないとどうなるかや、ソースとクローンで変わっている場合はどうなるかなどもさらに検証してみて、それらの処理の結果をまとめると下記のようになります。※処理の結果の表を補足としてこの記事の最後に記載しています。・クローンでは索引設定が「なし」で、ソースでの索引設定も「なし」だった場合を除き、クローンの索引設定に合わせて再構築されました。※クローンの索引設定が「なし」でソースの索引設定も「なし」だった場合は、索引に関する処理は何もされませんでした。・クローンの索引設定が「なし」でソースの索引設定も「なし」だった場合は、上記同様、処理は何もされませんでした。・ソースとクローンで同じ索引設定だった場合は、ソースの索引がそのままコピーされ再構築はされません。異なる索引設定だった場合は、クローンの索引設定に合わせて再構築されました。rebuildindexesオプションについては、オプションを付けなければそのまま利用できる索引はソースからコピーして利用するところを、オプションを付けることで、強制的に再構築させるような動きになる、ということですね。(オプションがなくても、再構築が必要な場合には再構築されるようになっていました。)索引が壊れてしまって、検索がうまくできなかったりリレーションが正しくなかったり、ということがまれに発生することもあります。索引に不安がある状態でデータ移行が必要になったら、このオプションを使用することで、データ移行と索引再構築とが同時にできますね。toolのオプションを確認してみました。これまでよりも色々なケースに対応してデータ移行ができるようになっているといえるのではないでしょうか。購入している方は、ぜひ活用してみてください。※移行が完了したターゲットファイルのフィールドの索引設定オプションは、クローンファイルの設定をそのまま引き継ぎます。※ターゲットに作成された索引は、処理内容がRebuiltであれば再構築されたもので、Copyingであればソースからコピーされたものとなります。