ER図つくーる
先日、データモデリングっていう話を見て、こういうものを作らないといけんらしいという事を知り。(20年間脳内で作ってマニュアルに落とし込んでたww)
一人でやるっていうのは、こういう事で。俗人化で。よろしくなくて。
ちょっとやってみようと思った。
なお、ツイッターでモゴモゴ言ってたら、優しい人がいて。
なんと説明動画を作ってくれたんだ。
んだがしかし、色々大変そうで。(いややるけれども)
ふと、ファイルメーカーで作ったもんから、ざくっと出ればいいんじゃないか?って思った。
以下取得を考えつつ。もごもご。
使えそうなアレコレ
前に構造チラ見君作ってた時に、これもいいなと思ってて
これを使う
Online FlowChart & Diagrams Editor - Mermaid Live Editor
https://mermaid-js.github.io/mermaid-live-editor/
ようするにこの黄色い部分を吐き出せれば、図を作ってくれるんじゃろ!?
使えそうな計算式
RelationInfo ( ファイル名 ; テーブル名 )
https://help.claris.com/ja/pro-help/content/relationinfo.html
毎度うかっとわすれる。テーブル名ってあるけど、TO名。
これ絶対、ぁあん?てなる気がするけど、どうなんだろ。
私の使い方がまちがってんのかしら。
んで、これを入れると、データソース名(テーブル名)と
オプション 作るか?ソートは?と
なんのフィールドで繋がってるか教えてくれる。
Source:相方データソース名
Table:相方To名
Options:クリエイトとかなんたら
こっからリレーションが改行区切りでザクザク
そのあと一行あいて
Source:相方データソース名
と続いていく。
TableNames (ファイル名)
ファイル名のリレーションシップグラフで使用されているすべてのテーブルオカレンスの一覧を返します。
TableNames ( get(ファイル名 )) でぜーんぶとれる。
自分のソース名どっからとるんだろ。
まあ数珠繋ぎで取ればいいんだろうけども。
独りぼっちの時は、答えがない。
TOからテーブル名を取得するなんかがあるといいんだけど。
とりあえず、今わかんないのでボッチは生ファイルっていう事で
そのままだろ!?と思っておくことにする。
と思ってたら、式をFMTokyoでフッキーが教えてくれた。
ExecuteSQL ( "SELECT BaseTableName FROM FILEMAKER_TABLES WHERE TABLENAME = ?" ; "" ; "" ; TO名 )
んで
ER図的にみると
データソース名ってのは、ユニーク表示であると仮定
TO同士のつなぎを、これにつなぐ。
TO名は、データソース名のエイリアスである。
リレーションは。
相手のTO名:フィールド名 = 自分のTO名:フィールド名
で記載されている。
全体を通して、この各フィールド名もユニーク表示である。
ここへきて、そうそうフィールド名と思って
ぐぬぬ。
あのあの先生のこういうのが・・・
書けるだろうと思っていたんだが。
また探す旅にでる
あったがなw
比較的、望みに近い感じではなくて!?すてきやん!!ねえ!
これをウェブビューアでできたらいいなと思ったが。
windowsなもんで?・・・さておき。
目的を達成すべく、スクリプトをぷりぷり書く。
途中、リレーションしてないフィールド名も飾りでおいとくといいんじゃないか?って思ったりして。
FieldNamesはレイアウトからしか取れんし~お手間かかるなーって。
クネクネしてたらフッキーが教えてくれた。
ExecuteSQL ( "SELECT TableName,FieldName FROM FileMaker_Fields WHERE TableName = ?" ; "::" ; "¶" ; TO名 )
TO名からフィールド名の一覧取れるのはこれだ!
なお。私はExecuteSQLは、外のも取れると思ってたんだ。
ほんとは、ファイル一個つくって。
そこから、今のファイルに対してやれたら、組み込む必要もないし、
便利だなーって。
とまあ、スクリプトをコピペしたら使えるって方向でいいか。
最後のxmlはくところだけ、フィールド拝借して。
となりまして。
ちまちま書いて。
途中やる気スイッチがなくなったりしたけど・・・
できたよ!!!!!!!!!
スクリプトって偉いな~
んでまあ、TO一個に対して2~3秒かかるかな。1~2秒かな・・・
ざくっとした手順としては
TableNames ( get(ファイル名 )) で全部とる。
RelationInfo ( ファイル名 ; テーブル名 )で、総当たりする。
途中教えてもらったSQLのでその子の元ファイル名とったり
フィールドとったり。
ループでぐるんぐるんまわす。
jsonにいれる。
jsonの見出し?は、勝手にインデックスになるっていうか、ユニークにしてくれるから、どんどん押し込んだ。
本当は、テーブル名と元ファイル名をのせたかったけど、そうすると横幅が大きくなってだな・・・改行が入れれたかもしれんが、もう気力がなかった。
テーブル名だけに戻して作成。
今日はファイルおかないのか!?
ちょっと心配だから来週ミンキーでもんでもらってから・・・!!
色んなファイルで試してガッテンしてから!
これをやってよかったなって思ったのは、大元で消してるTOとか
ゴミが残ってたやつも拾えた。
というわけで、見直しなどにいかがですか!!!
便利っぽくないっすかw
って・・思い出した。ひとりぼっちの子のXML書き出してねええええ・・・
もう月曜だし。
今週の勉強はこんぐらいでいいか!!
あとなんだっけなー
気になってるのが、今泉さんが言ってた「タイミング図?」
データがどのタイミングでどう更新されるのか?
それって超大事やなって思った。
あとなんかその手前の人形でるやつ?・・
なんかわからんけど、いつも今泉さんはヒントをくれる。
時々惑わせるけど!!来週またきこ。
私も今泉さんの所で修行がしたい。。。
ミンキーがあって幸せだな。
この記事が気に入ったらサポートをしてみませんか?