Snowflake ID

概要

NocoBaseでは、Snowflake ID(Snowflake ID) を一意な識別子の生成に使用します。

Snowflake IDは、NocoBaseの通常テーブルでデフォルトIDフィールドの主キーとしてよく使用されるタイプです。内部レコードの一意な識別子として適しています。

外部システムから読み取りやすい番号が必要な場合は、シーケンスまたは業務番号フィールドを使用してください。

適用シーン

Snowflake IDは、次のような業務シーンに適しています。

  • 通常テーブルのデフォルト主キー
  • 内部レコードID
  • 高性能な一意ID生成が必要な業務テーブル
  • 人が識別する必要のない一意な識別子

作成時の設定

データテーブルの「Configure fields」ページで「Add field」をクリックし、「Snowflake ID」を選択すると、Snowflake IDフィールドを作成できます。

20251209204217

設定説明
Field interfaceフィールドのインターフェースタイプ。Snowflake IDでは snowflakeId に対応し、ページ上での入力方法や表示方法を決定します。
Field display name画面上に表示されるフィールド名。「ID」「レコード ID」「内部 ID」などが該当します。業務担当者が直接理解できる名称を使用することを推奨します。
Field nameAPI、リレーションフィールド、権限、ワークフローなどで内部参照するためのフィールド識別名です。作成後は通常変更せず、英字、数字、アンダースコアのみ使用でき、先頭は英字で始める必要があります。
Field typeデータ層におけるフィールドのタイプです。Snowflake IDでは通常 bigInt を使用します。
Default valueデフォルト値です。レコードの新規作成時にユーザーが入力しなかった場合、自動的にデフォルト値を設定できます。
Validation rules通常はシステムによって自動生成されるため、手動で検証する必要はありません。
Descriptionフィールドの説明です。フィールドの意味、入力要件、データソース、管理担当者などを記載するのに適しています。
注意

フィールド名は、作成後にページブロック、権限、ワークフロー、APIから参照されます。作成前に命名を確認し、後からの変更による設定調整のコストを避けてください。

フィールドの特性

Snowflake IDフィールドのデフォルト動作は次のとおりです。

特性説明
デフォルトの Field interfacesnowflakeId
デフォルトの Field typebigInt
選択可能な Field typebigInt
ページコンポーネント通常は自動生成されるため、手動で入力する必要はありません。
フィルターIDによる完全一致検索に対応しています。
ソートソートに対応しています。
検証通常は自動生成され、一意性が維持されます。

設定の編集

作成後、フィールド右側の「Edit」をクリックすると、Snowflake IDフィールドの設定を編集できます。フィールドの編集は、主にNocoBaseでのフィールドの表示方法や使用方法を調整するために行います。たとえば、表示名、説明、デフォルト値、検証ルール、フィールド固有の設定などを変更できます。

フィールドがメインデータベースですでに同期されているテーブルに由来する場合、編集時には通常、フィールドマッピングを行います。つまり、データベースのフィールドをNocoBaseのField typeおよびField interfaceにマッピングします。

設定編集可否説明
Field display nameはい画面上のフィールド表示名を変更します。フィールド識別名は変更されません。
Field nameいいえフィールド識別名は、作成後通常、編集フォームで変更できません。
Field interface条件付きで対応メインデータベースのフィールドまたは同期フィールドは、フィールドマッピング時に調整できます。調整後は、ページ上での入力、表示、検証方法に影響します。
Field type条件付きで対応メインデータベースのフィールドまたは同期フィールドは、フィールドマッピング時に調整できます。調整前に、既存データを新しいタイプで使用できるか確認する必要があります。
Default valueはいレコード新規作成時のデフォルト値を調整します。
Validation rulesはいフィールドの検証ルールを調整します。
Descriptionはいフィールドの意味、入力要件、データソース、管理担当者などを補足します。
注意

Field typeまたはField interfaceの切り替えは、単に表示名を変更することとは異なります。フィールドの保存方法、入力コンポーネント、検証ルール、フィルター条件、ワークフロー変数の使用方法に影響します。既存データが多い場合は、あらかじめデータ形式が一致しているか確認してください。

フィールドの削除

フィールド右側の「Delete」をクリックすると、Snowflake IDフィールドを削除できます。メインデータベースでは、複数のフィールドを選択して一括削除することもできます。

メインデータベースで新規作成したSnowflake IDフィールドを削除すると、通常はデータベース内の実際の列と、その列に保存されている既存データも同時に削除されます。データベースとの同期や外部データソースからマッピングされたフィールドを削除した場合の影響範囲は、対応するデータソースとフィールドの由来によって異なります。

警告

フィールドを削除すると、ページブロック、フォーム、フィルター、権限、ワークフロー、API、インポート・エクスポート、既存データに影響する可能性があります。削除前に、そのフィールドが業務設定で引き続き参照されていないか確認してください。

ページ設定での使用

Snowflake IDフィールドは、主キーおよび内部一意識別子として適しています。 20260710145423

シーン用途
テーブルの作成デフォルトのIDフィールドとして使用します。
リレーションフィールド関連レコードの一意な識別子として使用します。
API単一レコードの特定に使用します。
権限とワークフローレコードの一意な識別子として内部処理に使用します。

関連リンク

  • フィールド — フィールドの役割、分類、マッピングロジックについて説明します
  • 通常テーブル — 通常テーブルでのフィールドの作成と管理
  • UUID — UUIDを一意な識別子として使用
  • Nano ID — 短いIDを使用
  • シーケンス — 業務番号を生成