みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
初心者向けにApp Makerのチュートリアルをお送りしています。
前回はこちら。
ウィジェットの文字列を変更する簡単なスクリプトについて解説をしました。
これまでは、ページとそこに配置するウィジェットのみを使用したアプリだったのですが、今回からデータベースを活用した別のアプリを作成するチュートリアルになります。
App Maker公式ドキュメントの「Tutorial 2: Work with Data」の内容ですね。
まずはじめはApp Makerでデータベース(モデルといいます)を作成する簡単な手順です。
では、行ってみましょう!
後日注記
2018年4月から本記事で紹介している「Google Data Tables」は、残念なことに使用できなくなりました。
現在は、「Google Cloud SQL」の使用が推奨されています。
インスタンスの立ち上げが必要、かつ使用料も発生しますので、色々と導入のハードルが高くなってしまいました…。
「Google Data Tables」または、導入のし易いデータモデルの追加を切に願います。
目標とするアプリについて
今回から何回かに分けて「従業員データベース」というアプリを作ります。
ページ上のフォームで従業員のデータを入力したり、編集したりでき、その結果がテーブル表示もされるといったものです。
テーブルとしては、以下のようなイメージです。
名前 | Emailアドレス | 入社日 | アクティブ |
---|---|---|---|
Bob | bob@example.com | 2017-12-16 | true |
Tom | tom@example.com | 2018-01-01 | false |
Ivy | ivy@example.com | 2017-11-28 | true |
新規アプリを作成してリネームする
まず、App Makerの新規アプリを作成して、そのアプリ名を「従業員データベース」にします。
Google Drive Tablesタイプのモデル作成する
App Makerではデータベースを作成する場合は、「モデル」というものを作ります。
左側の「DATA」の「+」アイコンをクリックします。
すると「Create Model」というダイアログが開きます。
Google Drive Tableと、Calculatedがラジオボンタンで選択できるようになっています。また、下側に小さいのですが「Connect an external database」をクリックすると、他の選択肢が選べるようになります。
今回は、一番手軽に利用できるGoogle Drive Tablesを使用しますのでそれを選択して「NEXT」です。
App Makerのモデルには計5種類のタイプがありますが、「Google Drive Tables」以外は現時点ではちょっと難しいかも知れませんので、「そんなのもあるんだ~」くらいの認識でよいかと思います。
- Google Drive Tables – Googleドライブにデータを保存するモデル。一番簡単だが、容量250MGかつ単一アプリの利用という制限あり。
- Calculated – App Makerサーバーで他のモデルからのデータを計算、再構成する(クエリ)際に使用するモデル。
- Google Cloud SQL – 外部のGoogle Cloud SQLデータベースにアクセスするモデル。
- Calculated SQL – Google Cloud SQLデータベースに対して実行されるクエリ。
- Directory – 組織のディレクトリ(電子メールアドレスや電話番号など)から情報を取得するモデル。
モデル名を入力
続く「Create Drive Tables Model」ダイアログでは、「Model name」に作成するモデル名を入力します。ここは日本語NGなので、アルファベットで入力します。
今回は「EmployeeData」として「CREATE」とします。
これで、モデル「EmployeeData」が作成できました。
モデルとフィールド
ただこの段階では、何にもない空っぽの状態(スプレッドシートでいえばまっさらのシート)ですので、続いて「見出し」にあたるフィールドを追加していく必要があります。
つまり、今回の例では名前、Emailアドレス、入社日、アクティブがフィールドです。
スプレッドシートでいうと列に値するのがフィールドですね。
また、実際のデータはスプレッドシートでいう横方向、つまり行単位で追加や管理をするカタチになり、それをレコードといいます。
フィールドを追加する
まず、「名前」フィールドを追加していきましょう。
DATAのEmployeeDataをクリックして、上部のタブで「FIELDS」が選択されている状態ですと「ADD FILED」というボタンがあるはずです。
それを押すと、プルダウンが表示されますので「String」を選びます。
この「String」や「Number」はフィールドが持つデータ型で
- String:文字列
- Number:数値
- Boolean:真偽値(true または false)
- Date:日付
の4種類があります。名前は文字列ですから、Stringを選択します。
フィールド名と表示名
続く画面で追加したフィールド名Nameと表示名Display Nameを入力します。
Nameは内部的に使用するもので日本語はNGですので、アルファベットで入力します。Display Nameはその名の通り表示名ですので、日本語OKです。
今回はそれぞれ「Name」「名前」とします。
残りのフィールドを追加する
以下、同様に「ADD FILED」ボタンを押して、最終的に4つのフィールドを作成します。
Type | Name | Display Name |
---|---|---|
String | Name | 名前 |
String | Emailアドレス | |
Date | HireDate | 入社日 |
Boolean | Active | アクティブ |
これでモデルの作成は完了です。
まとめ
以上、App MakerでGoogle Drive Tableタイプのモデルの作り方を解説しました。
App Makerでいうモデルとは何か、またフィールドの追加の方法などを確認できたと思います。
まだこの段階では「箱」ができただけで、何の操作もできません。
実際に操作をするには、モデルのデータを入力・編集・表示するフォームやテーブルなどのウィジェットを配置して、それとモデルを連携させるとう手順が必要です。
次回以降、モデルと連携したウィジェットの配置についてお伝えしていきます。
どうぞお楽しみに!
コメント
> Calculated – App Makerサーバーで他のモデルからのデータを計算、再構成する(クエリ)際に使用するモデル。
間違ってはいないのですが、Calculated モデルの最大の特徴は「任意のデータ」を返せるというところがポイントですね。
そのため、他のモデルからデータを計算、再構成しても良いですし、SpreadsheetApp を使ってスプレッドシートからデータを取得してもよいのです。
「スプレッドシートを読み込んで一覧表示したい」なんかは、よくあるパターンだと思います。
howdy39さん
いつもありがとうございます!
そして、ありがたいアドバイスありがとうございます。
ぜひ、Calculatedモデルも研究して記事化したいです…!
今後ともご指導よろしくお願いいたします。
いえいえ。
タカハシさんの記事はとてもわかりやすくて良いです。
App Maker 入門者には「このサイトを見るといいよ!」と案内していきます笑
ありがとうございます!
うぅ、とっても嬉しいですね…。
引き続きどんどん勉強して記事アップしていきますね。
Google Drive Tablesが終了しています。
タカハシさんのドキュメントはすごくわかりやすいので、記事の修正をお願いします。
muksyeさん
ご指摘ありがとうございます!
おっしゃる通り、このままでは不親切でしたね…助かります。
本記事含めて、いくつかの記事について注記を追加させていただきました。
今後とも、弊ブログをどうぞよろしくお願いいたします。