これまでキャンバスアプリをメインで作っていたけど、モデル駆動型アプリを作るかもしれないということで、練習がてら我が家で飼っているねこを管理するアプリをモデル駆動型で作ってみた。
色々と勉強になったので、その手順をメモ。
モデル駆動型アプリについて
モデル駆動型アプリはざっくりと言うと、
モデル(テーブル)や業務フローをメインで設計/開発して、UIはほぼ自動で作ってもらおう
的なアプリのこと。
キャンバスアプリが「画面(UI)」をメインで作るのに対し、モデル駆動型は「データ構造」や「業務の流れ」を中心に開発する。
そしてこのデータを貯める場所が「Dataverse(旧CDS)」になる。Dataverseはマイクロソフトが用意してくれている超高機能かつ超簡単に使えるDBのことだと思ってもらえれば。
今回作る「ねこアプリ」ではキャンバスアプリで追加したねこのデータを、モデル駆動で管理したり表にしたりしたいな、みたいなイメージ。
※もちろんこの程度ならキャンバスだけで全然実現可能だけど。。。
今回管理したいもの
今回作る「ねこアプリ」では、ねこの
- 食事の履歴(カロリー)
- 体重の履歴
といったデータを管理してみる。
「ワクチンを打った日付」とか「トイレを全掃除した日付」とかも管理してみたいけど、ひとまず上の2項目で日々の体調を管理してみる。
作成するテーブル(モデル)のイメージ
テーブルの作成
それでは早速テーブルを作成していく。
前述の通りモデル駆動型では「Dataverse」を使用するので、「有料ライセンス」か「試用環境」または「開発者用環境」が必要になる。
↓がPower Platform管理センター
https://admin.powerplatform.microsoft.com/environments
ねこテーブル作成
まずは「ねこ」テーブルを作成。
※ちなみにこの設定で出てくる「プライマリ列」はいわゆるDBの主キー(プライマリキー)とは別物とのこと。ここでのプライマリ列には行(レコード)の主な意味を示す値(名前、管理番号 とか)を入れるとよいらしい。
この列は「誕生日」列の値と今日の日付を計算して自動で出るようにしたいので、データ型「整数」を選んだあと、「計算またはロールアップ」の「追加」ボタンを押す。
※ポップアップが出ない場合はブラウザの設定でポップアップをブロックしている可能性あり。
※月齢の計算はたぶんこれだと1カ月ずれるけど、ひとまず練習ということでw
ねこテーブル動作確認
「ねこ」テーブルに必要な列「名前」「誕生日」「月齢」を追加したので、ここで一旦データを追加してみる。
そこで、ユーザーが誕生日列を入力できるようフォームをカスタム。
※変更が反映されない場合は、「公開」がうまくいっていないか、少し時間が経つと反映されることがある。
※アクティブ/非アクティブもテーブルに自動で追加される列。「アクティブなねこ」ビューはこの列の値が「アクティブ」な行(レコード)だけを表示する自動で作られる「ビュー」のこと。
これで「ねこ」テーブルの作成は完了!
思ったより記事が長くなってしまったので、残りのテーブルと「リレーション」は第2回で作成します。
コメント