コレクション設定パラメーター
name - コレクション名
- タイプ:
string - 必須: ✅
- 説明: コレクションの一意の識別子です。アプリケーション全体で一意である必要があります。
- 例:
title - コレクションのタイトル
- タイプ:
string - 必須: ❌
- 説明: コレクションの表示タイトルで、フロントエンドのインターフェース表示に使用されます。
- 例:
migrationRules - マイグレーションルール
- タイプ:
MigrationRule[] - 必須: ❌
- 説明: データマイグレーション時の処理ルールです。
- 例:
inherits - コレクションの継承
- タイプ:
string[] | string - 必須: ❌
- 説明: 他のコレクションのフィールド定義を継承します。単一または複数のコレクションの継承をサポートしています。
- 例:
filterTargetKey - フィルターターゲットキー
- タイプ:
string | string[] - 必須: ❌
- 説明: クエリのフィルタリングに使用されるターゲットキーです。単一または複数のキーをサポートしています。
- 例:
fields - フィールド定義
- タイプ:
FieldOptions[] - 必須: ❌
- デフォルト値:
[] - 説明: コレクションのフィールド定義の配列です。各フィールドには、タイプ、名前、設定などの情報が含まれます。
- 例:
model - カスタムモデル
- タイプ:
string | ModelStatic<Model> - 必須: ❌
- 説明: カスタムの Sequelize モデルクラスを指定します。クラス名またはモデルクラス自体を指定できます。
- 例:
repository - カスタムリポジトリ
- タイプ:
string | RepositoryType - 必須: ❌
- 説明: カスタムのリポジトリクラスを指定し、データアクセスロジックの処理に使用します。
- 例:
autoGenId - IDの自動生成
- タイプ:
boolean - 必須: ❌
- デフォルト値:
true - 説明: 主キーIDを自動生成するかどうかを指 定します。
- 例:
timestamps - タイムスタンプの有効化
- タイプ:
boolean - 必須: ❌
- デフォルト値:
true - 説明: 作成日時と更新日時フィールドを有効にするかどうかを指定します。
- 例:
createdAt - 作成日時フィールド
- タイプ:
boolean | string - 必須: ❌
- デフォルト値:
true - 説明: 作成日時フィールドの設定です。
- 例:
updatedAt - 更新日時フィールド
- タイプ:
boolean | string - 必須: ❌
- デフォルト値:
true - 説明: 更新日時フィールドの設定です。
- 例:
deletedAt - ソフトデリートフィールド
- タイプ:
boolean | string - 必須: ❌
- デフォルト値:
false - 説明: ソフトデリートフィールドの設定です。
- 例:
paranoid - ソフトデリートモード
- タイプ:
boolean - 必須: ❌
- デフォルト値:
false - 説明: ソフトデリートモードを有効にするかどうかを指定します。
- 例:
underscored - アンダースコア命名
- タイプ:
boolean - 必須: ❌
- デフォルト値:
false - 説明: アンダースコア命名スタイルを使用するかどうかを指定します。
- 例:
indexes - インデックス設定
- タイプ:
ModelIndexesOptions[] - 必須: ❌
- 説明: データベースのインデックス設定です。
- 例:
フィールドパラメーター設定について
NocoBase は複数のフィールドタイプをサポートしており、すべてのフィールドは FieldOptions ユニオンタイプに基づいて定義されています。フィールド設定には、基本プロパティ、データタイプ固有のプロパティ、リレーションシッププロパティ、およびフロントエンドのレンダリングプロパティが含まれます。
基本フィールドオプション
すべてのフィールドタイプは BaseFieldOptions を継承しており、共通のフィールド設定機能を提供します。
例:
name - フィールド名
- タイプ:
string - 必須: ❌
- 説明: データベース内のフィールドのカラム名です。コレクション内で一意である必要があります。
- 例:
hidden - 非表示フィールド
- タイプ:
boolean - デフォルト値:
false - 説明: リスト/フォームでこのフィールドをデフォルトで非表示にするかどうかを指定します。
- 例:
validation - バリデーションルール
- タイプ:
ValidationOptions<T> - 説明: Joi を使用してサーバーサイドのバリデーションルールを定義します。
- 例:
allowNull - NULL値を許可
- タイプ:
boolean - デフォルト値:
true - 説明: データベースが
NULL値の書き込みを許可するかどうかを制御します。 - 例:
defaultValue - デフォルト値
- タイプ:
any - 説明: フィールドのデフォルト値です。レコード作成時にそのフィールドの値が提供されなかった場合に使用されます。
- 例:
unique - 一意制約
- タイプ:
boolean | string - デフォルト 値:
false - 説明: 値が一意である必要があるかどうかです。文字列で制約名を指定できます。
- 例:
primaryKey - 主キー
- タイプ:
boolean - デフォルト値:
false - 説明: このフィールドを主キーとして宣言します。
- 例:
autoIncrement - 自動インクリメント
- タイプ:
boolean - デフォルト値:
false - 説明: 自動インクリメントを有効にします(数値型フィールドにのみ適用されます)。
- 例:
field - データベースカラム名
- タイプ:
string - 説明: 実際のデータベースカラム名を指定します(Sequelize の
fieldと同じです)。 - 例:
comment - データベースコメント
- タイプ:
string - 説明: データベースフィールドのコメントで、ドキュメントの説明に使用されます。
- 例:
title - 表示タイトル
- タイプ:
string - 説明: フィールドの表示タイトルで、通常、フロントエンドのインターフェース表示に使用されます。
- 例:
description - フィールドの説明
- タイプ:
string - 説明: フィールドに関する説明情報で、ユーザーがフィールドの用途を理解するのに役立ちます。
- 例:
interface - インターフェースコンポーネント
- タイプ:
string - 説明: 推奨されるフロントエンドのフィールドインターフェースコンポーネントです。
- 例:
フィールドタイプインターフェース
type: 'string' - 文字列フィールド
- 説明: 短いテキストデータを保存するために使用されます。長さ制限と自動トリムをサポートしています。
- データベースタイプ:
VARCHAR - 固有のプロパティ:
length: 文字列の長さ制限trim: 先頭と末尾の空白を自動的に削除するかどうか
例:
type: 'text' - テキストフィールド
- 説明: 長いテキストデータを保存するために使用されます。MySQL の異なる長さのテキストタイプをサポートしています。
- データベースタイプ:
TEXT、MEDIUMTEXT、LONGTEXT - 固有のプロパティ:
length: MySQL のテキスト長タイプ(tiny/medium/long)
例:
数値タイプ
type: 'integer' - 整数フィールド
- 説明: 整数データを保存するために使用されます。自動インクリメントと主キーをサポートしています。
- データベースタイプ:
INTEGER
例:
type: 'bigInt' - BigInt フィールド
- 説明: 大きな整数データを保存するために使用されます。
integerよりも広い範囲を扱えます。 - データベースタイプ:
BIGINT
例:
type: 'float' - 浮動小数点フィールド
- 説明: 単精度浮動小数点数を保存するために使用されます。
- データベースタイプ:
FLOAT - 固有のプロパティ:
precision: 精度(総桁数)scale: 小数点以下の桁数
例:
type: 'double' - 倍精度浮動小数点フィールド
- 説明: 倍精度浮動小数点数を保存するために使用されます。
floatよりも高い精度を持ちます。 - データベースタイプ:
DOUBLE - 固有のプロパティ:
precision: 精度(総桁数)scale: 小数点以下の桁数
例:
type: 'real' - 実数フィールド
- 説明: 実数を保存するために使用されます。データベースに依存します。
- データベースタイプ:
REAL - 固有のプロパティ:
precision: 精度(総桁数)scale: 小数点以下の桁数
例:
type: 'decimal' - Decimal フィールド
- 説明: 正確な小数を保存するために使用され、金融計算に適しています。
- データベースタイプ:
DECIMAL - 固有のプロパティ:
precision: 精度(総桁数)scale: 小数点以下の桁数
例:
ブールタイプ
type: 'boolean' - ブールフィールド
- 説明: 真偽値を保存するために使用され、通常、オン/オフの状態に使用されます。
- データベースタイプ:
BOOLEANまたはTINYINT(1)
例:
type: 'radio' - ラジオフィールド
- 説明: 単一選択値を保存するために使用され、通常、二者択一の状況で使用されます。
- データベースタイプ:
BOOLEANまたはTINYINT(1)
例:
日時タイプ
type: 'date' - 日付フィールド
- 説明: 日付データを保存するために使用され、時間情報は含まれま せん。
- データベースタイプ:
DATE - 固有のプロパティ:
timezone: タイムゾーン情報を含むかどうか
例:
type: 'time' - 時間フィールド
- 説明: 時間データを保存するために使用され、日付情報は含まれません。
- データベースタイプ:
TIME - 固有のプロパティ:
timezone: タイムゾーン情報を含むかどうか
例:
type: 'datetimeTz' - タイムゾーン付き日時フィールド
- 説明: タイムゾーン情報を含む日時データを保存するために使用されます。
- データベースタイプ:
TIMESTAMP WITH TIME ZONE - 固有のプロパティ:
timezone: タイムゾーン情報を含むかどうか
例:
type: 'datetimeNoTz' - タイムゾーンなし日時フィールド
- 説明: タイムゾーン情報を含まない日時データを保存するために使用されます。
- データベースタイプ:
TIMESTAMPまたはDATETIME - 固有のプロパティ:
timezone: タイムゾーン情報を含むかどうか
例:
type: 'dateOnly' - 日付のみフィールド
- 説明: 日付のみのデータを保存するために使用され、時間情報は含まれません。
- データベースタイプ:
DATE - 例:
type: 'unixTimestamp' - Unix タイムスタンプフィールド
- 説明: Unix タイムスタンプデータを保存するために使用されます。
- データベースタイプ:
BIGINT - 固有のプロパティ:
epoch: エポック時間

