goFMDataMigration(FMDataMigrationを簡単に実行するためのCLIツール)を公開しました
こんにちは。
株式会社フルーデンスの小巻です。
FileMakerの開発をする際に、商用環境と別に開発環境を準備するのが一般的だと思います。
また、初回バージョンのシステムをリリースした後には、開発者は、開発環境を修正し任意のタイミングで、商用環境にリリースします。
そのため、リリース時には、商用環境にあるデータを開発環境のCloneファイルにデータ移行(DataMigration)する必要があります。
データ移行(DataMigration)について
これまでは、おそらく開発者自身でデータ移行ツールを作成し、事前にリハーサルをし、リリース作業をする方が多いと思います。
もしくは、リフレッシュFM(RefreshFM) などを利用しているかもしれません。
しかし、今回のタイトルにもある通り、これからは FMDataMigration というCLIツールを使うケースが増えると思います。
FMDataMigrationについて
FMDataMigrationとは、FileMaker Developer Subscription (FDS) をサブスクリプションすると利用できるCLIツールです。
詳細は、以下のリンクを見るとよいと思います。
FileMaker Developer Subscription
https://store.filemaker.com/product/FDS
Introducing FileMaker 17’s FMDataMigration Command Line Tool
https://www.soliantconsulting.com/blog/fmdatamigration-command-line-tool
FileMaker Data Migration Tool Guide
https://fmhelp.filemaker.com/docs/edition/en/migration/index.html
FMDataMigrationで注意するとき
私もすべてのケースを確認できていませんが…
- ファイルの分離に伴うテーブル移動時
- グローバルフィールドの値
など、FMDataMigrationで生成されたファイルについては、十分な注意が必要だと思いますし、自前のデータ移行ツールは必要だと思います。
FMDataMigrationが不便に感じるとき
1つ、2つのファイルであれば問題ないですが、以下のようなケースだと、さすがに不便に感じます。
- ファイルがいっぱいあるとき
- ディレクトリがあるとき
こういうときに…
おそらく、FileMakerができる人は FMDataMigration を効率よく使うためのツールを、FilMakerで作るでしょう。
おそらく、シェルスクリプトがかける人は FMDataMigration を効率よく使うためのツールを、シェルスクリプトで作るでしょう。
私は、Goを勉強しているので、今回はGo言語で作成しました。
goFMDataMigrationについて
今回、作成した goFMDataMigration は、アカウント名とパスワードを引数として渡せば、うまいことやってくれるようなツールです。
ファイルが多い時や、ディレクトリがある時には、便利に使えると思います。
デモ動画を作成しましたので、見てもらえれば理解できると思います。
goFMDataMigrationのデモ
Cloneファイルのファイル名について
デモでは Inventory Clone.fmp12
というファイルでしたが、
Inventory クローン.fmp12
でも大丈夫です。
goFMDataMigrationを公開しました
Githubにあげましたので、みなさん使ってみてください。
https://github.com/frudens/gofmdatamigration
あとがき
Go言語は、最近始めたばかりなのでコードについては、ひどいと思います…
ちなみに、エミックさんが作成された fmcsadmin というcliツールもGo言語です!
引き続きGoを書いていきます!