モデルの概要

App Maker では、モデルを使ってデータを整理し、保存します。モデルは、データベースにおけるテーブルや、スプレッドシートにおけるシートのようなものと考えることができます。スプレッドシートでは、データを列で整理し、行に格納します。モデルでは、データをフィールドで整理し、レコードというコレクションに格納します。

たとえば、スタートアップ企業の Weyland Corp で、従業員の名前、ID、生年月日を記録する HR アプリを作成する場合について考えてみましょう。App Maker で、NameEmployeeIDActiveDateOfBirth という 4 つのフィールドから構成される Employee モデルを作成し、従業員のモデルにユーザーがレコードを追加するページを作成します。スプレッドシートでは、同じデータが複数の列と行に格納されます。

NameEmployeeIDActiveDateOfBirth
Carter Burke2179426False03/30/2150
Ellen Ripley1612122True01/7/2092
Employee モデルの 2 つのレコード

モデルの種類

App Maker では 5 種類のモデルがサポートされています。

  • Google Cloud SQL - 複数のアプリケーションで共有できる従来の MySQL テーブルです。

    • デフォルト - G Suite 管理者は、組織の App Maker アプリ間で共有される Cloud SQL インスタンスを設定できます。これを有効にすると、Cloud SQL データモデルをアプリに追加したときに、新しいデータベースが自動的に作成されます。設定が不要で、使いやすいデータベースをアプリで使用する場合は、このオプションを選択します。

    • カスタム - 管理者がデフォルトの Cloud SQL インスタンスを設定している場合、独自の Cloud SQL インスタンスを設定できます。このオプションは、次のような場合に選択します。

      • アプリケーションを使用するユーザー数が多い場合や、大量のデータを格納する場合。
      • データベースを他のアプリケーションと共有する必要がある場合。
      • データベースを管理する必要がある場合や、Cloud SQL インスタンスの制御を維持する必要がある場合。
  • 計算モデル - スクリプトを使用してデータを生成する仮想的なモデル。このモデルを使用すると、モデルや他のソースから取得したデータを操作できますが、高度なサーバーサイド スクリプトを作成する必要があります。

  • SQL 計算モデル - Google Cloud SQL データベースに実行するクエリ。

  • クライアント サイドの計算モデル - データを同期的に取得するために実行されるクライアント サイドのクエリ スクリプト。callback を使用して結果を非同期で返す場合もあります。

  • ディレクトリ - 組織のディレクトリからメールアドレスや電話番号などの情報を取得するモデル。

モデルエディタ

モデルエディタでは、モデルの構造と設定を定義します。モデルを作成すると、App Maker からエディタに移動します。モデルエディタに戻るには、左側のナビゲーション バーにあるモデル名をクリックします。エディタには次の 5 つのタブが表示されます(モデルの種類によっては表示されないタブがあります)。

  • Fields - モデルに新しいフィールドを追加します。また、フィールドの設定を編集します。たとえば、Employee モデルに Email フィールドを追加して設定を行います。

  • Datasources - クエリで返されるレコードのサブセットなど、モデルでデータを取得して格納する方法を定義します。たとえば、クエリでアクティブな従業員のみを返すように、Employee モデルにデータソースを作成します。

  • Events - アプリがレコードを表示、作成または削除するときに実行されるサーバーサイド スクリプトを作成します。たとえば、ユーザーが新しい従業員レコードを作成したときに、HireDate フィールドを自動的に更新するスクリプトを Employee モデルに作成します。このタブは、クライアント サイドの計算モデルでは表示されません。

  • Relations - モデル内またはモデル間のレコードの関係を定義します。たとえば、Employee モデルで、上司とその直属の部下の間にリレーションを作成できます。計算モデルでは表示されません。

  • Security - モデル内でレコードの作成、読み込み、保存または削除を実行できるユーザーを定義します。たとえば、従業員にモデル内のレコードの表示のみを許可するように、Employee モデルに制限を設定できます。

表示フィールド

モデルを作成するときに、デフォルトの表示フィールドを選択できます。App Maker は、モデル内のレコードを参照するときにデフォルトの表示フィールドを使用します。表示フィールドは、プルダウンなど、レコードを選択するウィジェットでよく使用されます。

たとえば、部門名と所在地のレコードを含む Departments モデルの場合、Department フィールドを選択できます。プルダウン ウィジェットのデータソースをモデルに設定すると、Department フィールドの値がプルダウンのオプションになります。

表示フィールドを指定しないと、App Maker は「id」または「name」という名前のフィールドを検索します。このような名前のフィールドがモデルに存在しないと、App Maker はモデルの最初の文字列フィールドを使用します。

デフォルトの表示フィールドとしてフィールドを設定するには:

  1. モデルをクリックします。
  2. [フィールド] タブで、表示フィールドとして設定するフィールドをクリックします。
  3. [表示フィールドとして設定] をクリックします。

表示フィールドを別のフィールドに変更するには、フィールドを開いて [表示フィールドとして設定] をクリックします。表示フィールドとして設定できるフィールドは 1 つだけです。

別の方法で表示フィールドを設定するには、表示したいフィールドをウィジェットの names プロパティにバインドします。