メインコンテンツへスキップ
開発者向けドキュメントを表示しています
このドキュメントは、Base44 開発者プラットフォームで作業する開発者向けです。アプリエディタを使用したアプリデータの管理については、アプリデータの管理を参照してください。
エンティティは、データ構造と検証ルールを記述する JSON スキーマを使用して定義されます。

基本のスキーマ構造

エンティティスキーマは、プロジェクトの entities ディレクトリ内の JSON ファイルで定義されます。デフォルトでは base44/entities/ ですが、プロジェクト構成でパスをカスタマイズできます。ファイル名がエンティティ名を決定します。例えば、Task.jsonTask エンティティを作成します。 エンティティスキーマのテンプレート:
{
  "name": "my_entity",
  "type": "object",
  "title": "My Entity",
  "description": "Description of what this entity represents",
  "properties": {
    "<field_name>": {
      "type": "<field_type>",
      "<option>": "<value>"
    }
  },
  "required": ["<field_name>"]
}

組み込みフィールド

すべてのエンティティレコードには、次のフィールドが自動的に含まれます。スキーマでこれらの名前のフィールドを定義しないでください。
フィールド説明
idstringレコードの一意識別子
created_datedatetimeレコードが作成された日時
updated_datedatetimeレコードが最後に更新された日時
created_bystringレコードを作成したユーザーのメール
created_by_idstringレコードを作成したユーザーの ID
is_deleted (internal)booleanソフト削除フラグ
deleted_date (internal)datetimeレコードが削除された日時
is_sample (internal)booleanレコードがサンプルデータかどうか
entity_name (internal)stringエンティティタイプの名前
app_id (internal)stringアプリ ID
environment (internal)stringprod または dev
内部フィールドは API レスポンスで返されませんが、セキュリティルールで参照できます。

スキーマフィールド

name
string
エンティティの文字列識別子。
type
string
必須
"object" である必要があります。
title
string
ユーザーフレンドリーな表示名。
description
string
エンティティが表すものの説明。
properties
object
必須
フィールド定義を含むオブジェクト。各フィールドには type とオプションの検証ルールがあります。

フィールドタイプ

エンティティは、保存できる異なる種類のデータを定義するさまざまなフィールドタイプをサポートしています: stringintegernumberbooleanarrayobjectproperties 内の各フィールドには type が必要です。型に基づいて、検証オプションを追加できます。

String フィールド

String フィールドは次のオプションをサポートします:
  • minLength / maxLength: 最小および最大文字数を制御します。
  • pattern: カスタム検証用の正規表現。
  • format: 事前定義された形式。サポートされる値:
    • "date"
    • "date-time"
    • "time"
    • "email"
    • "uri"
    • "hostname"
    • "ipv4"
    • "ipv6"
    • "uuid"
  • enum: 特定の許可された値に制限します。配列として定義: ["value1", "value2", "value3"]
  • default: 提供されない場合のデフォルト値。

Integer フィールド

Integer フィールドは次のオプションをサポートします:
  • minimum / maximum: 包含的な下限/上限を設定します。
  • default: 提供されない場合のデフォルト値。

Number フィールド

Number フィールドは次のオプションをサポートします:
  • minimum / maximum: 包含的な下限/上限を設定します。
  • default: 提供されない場合のデフォルト値。

Boolean フィールド

Boolean フィールドは次のオプションをサポートします:
  • default: 提供されない場合のデフォルト値。

Array フィールド

Array フィールドは次のオプションをサポートします:
  • items: 配列要素のタイプ/スキーマを定義します。
  • default: 提供されない場合のデフォルト配列値。

Object フィールド

Object フィールドは次のオプションをサポートします:
  • properties: オブジェクト内のフィールドを定義します。
  • required: 必須プロパティ名のリスト。

必須フィールド

提供する必要があるフィールドを指定します:
{
  "required": ["title", "email"]
}

完全な例

完全なエンティティスキーマ:
{
  "name": "Task",
  "type": "object",
  "title": "Task",
  "description": "A task item with priority, due date, and completion status",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "description": {
      "type": "string",
      "maxLength": 1000
    },
    "priority": {
      "type": "string",
      "enum": ["low", "medium", "high"],
      "default": "medium"
    },
    "completed": {
      "type": "boolean",
      "default": false
    },
    "due_date": {
      "type": "string",
      "format": "date"
    },
    "tags": {
      "type": "array",
      "items": { "type": "string" }
    },
    "internal_notes": {
      "type": "string",
      "rls": {
        "read": {"user_condition": {"role": "admin"}},
        "write": {"user_condition": {"role": "admin"}}
      }
    }
  },
  "required": ["title"],
  "rls": {
    "create": true,
    "read": {"created_by": "{{user.email}}"},
    "update": {"created_by": "{{user.email}}"},
    "delete": {"created_by": "{{user.email}}"}
  }
}

エンティティのデプロイ

エンティティスキーマを定義した後、entities push を使用して Base44 にデプロイします。プロジェクト全体をデプロイするために deploy コマンドを実行すると、エンティティも自動的にデプロイされます。 デプロイ後、SDK の entities モジュールを使用してエンティティと対話できます。スキーマ内のエンティティ名は、大文字小文字を含めて、SDK でアクセスする方法と正確に一致する必要があります。例えば、スキーマに "name": "Task" がある場合、base44.entities.Task.list() としてアクセスする必要があります。 デプロイされたエンティティスキーマは、ダッシュボードの Data セクションで表示できます。

関連項目

  • User Schema: ユーザー認証のための特別な組み込みエンティティ
  • Security: エンティティ用の行レベルセキュリティルールを構成
  • Project Structure: エンティティスキーマがプロジェクトにどう適合するか
このページは AI を使用して翻訳されました。最も正確で最新の情報については、英語版 を参照してください。