概要
FileMakerに触ってみたので、記録を残しておきます。
FileMaker触り初めて10時間程度の初心者なので、ガバ多いです。
対象読者
FileMakerとmysqlとの連携方法を知りたい方
開発環境
ソフトウェア名 | バージョン | 説明 |
---|---|---|
Windows | 10 | OS |
FileMaker Pro | 21 | ノーコード開発ツール |
MySQL | 8.0 | データベース |
MySQL ODBC | 9.3 Unicode Driver | FilemakerとPostgresのデータアクセスをするために使用 |
※ FilemakerはFileMaker Developer Subscriptionを購入して利用
配置図
設定方法
mysql側
DDL
drop table if exists tests;
create table tests(
id integer PRIMARY KEY,
name varchar(60)
);
ODBCの設定方法(windows側の設定)
mysqlのODBCドライバーを取得する
ODBCデータソース アドミニストレーターの設定
ODBCデータソース アドミニストレーターを開いて、システムDSNにmysqlを追加する
FileMaker側の設定
ODBCデータソース
FileMakerを開く。
ファイル(F)→管理(M)→データベース(D)を選択する。
「ODBCデータソースの追加」を選択する
操作したいテーブルを選択する
画面の設定
入力項目とラベルは自動的に作ってくれます。
CRUD処理
select
フォーム形式で一件表示、リストと表形式で全件表示できる。
フォーム
リスト形式
表形式
insert
マウス右クリック→新規レコードを選択する
空欄のフォームが表示されて値を入力する
update
そのままnameをいじるだけで更新できます
主キーのidはいじっちゃだめです。あとで入力できないように設定したほうがいいですね。
修正後
nameを「修正後」に変更する。
delete
フォーム形式で削除したいレコードを選択する
削除後
感想
良かった点
・RDSとの外部連携は簡単に設定できます。
Oracle SQLServerも対応してるので、DBそのままでアプリ側はFilemaker側に移行するという使い方もできそうです。
・FileMakerはデータの永続化がRDSを使ってないという前評判があったので、それを確認できて良かったです。
・実装コストがプロコードと比べると早い。
テーブル定義を作成すると入力項目も紐づけて設定されているのが特に良いと思いました。
・SQLとプロコードの知識がなくてとも、動くものを作れる。
業務用アプリのプロトタイプを作るのにも使えそうです。仕様が難しい機能はFileMakerでさっと作って、仕様を明確にするときになど使えそうです。
不便だと思った点
linux上のpostgreが対応してない。
当初はDocker上のPostgresで立てる予定ですが駄目でした。windowとmacOS上のpostgresは対応してるみたいです。(Linuxも対応してほしい!)
ファイルを開くDBのユーザーとパスワードを聞かれる(windows側の設定?)
fmpファイルのバージョン管理がわからない
とりあえずgithubでソースを管理したのですが、以下の問題点に気づきました。
・レイアウトを変更すると自動的に上書き保存される。
自分で上書き保存できないのはちょっと慣れないです。
・ソースコード読んでもどこを変更したのかわからない
FileMaker Proから開かないとどこを変更したのかわかりにくいですね。
今後調べたい部分
・Where文、GroupBy Joinの書き方
・トランザクション
・例外処理
・楽観ロックの仕方
・悲観ロックができるか、できるならそのやり方
・REST APIを使ってDBの情報表示 書き込みができるか
・バージョン管理のベストプラクティスを調べる
参考資料
FileMaker Pro での ODBC と JDBC の使用
mysql 設定
claris 外部データソースへの接続
github コミット分