主キー

最終更新日: 2022年10月3日

主キーとは

Wagbyで管理する、すべてのデータは「主キー」という値を持つようになっています。

主キーは特別なモデル項目であり、次の性質があります。

  • 同じモデルで、主キーの値はすべてユニーク(一意)となっています。値が重複することはありません。
  • 主キーの値は必ず設定されています。未設定 (null) という状態は認められません。
  • 主キーは一度、値が定まると、変更することができません。つまり更新画面で主キーの値は常に読み込み専用(または隠し項目)と扱われます。

標準では、Wagbyで作成したモデルには必ず "ID" という名前の項目が付与されています。文字列型かつ順序を利用する、となっています。これによって主キーには重複のない値(順序値)が自動的に割り当てられます。

主キー指定された項目は、モデル項目一覧で鍵のアイコンが表示されます。

主キー項目には鍵アイコンが表示される

主キー項目を変更する

項目名を変更する

主キーの項目名は標準では "ID" となっています。これを変更することができます。

主キー項目の名前を変更する(1)
主キー項目の名前を変更する(2)

型を変更する

主キー項目の型を変更することもできます。利用できる型は次のとおりです。

備考
整数 順序を利用するかどうか、も同時に設定できる。
文字列
日付 時刻および日付時刻は利用できない。また日付の書式は yyyy-MM-dd 固定となる。
モデル参照 リストボックス、ラジオボタン、検索画面のいずれか。チェックボックスは利用できない。

開発中に型を変更した場合

すでに(開発環境のデータベースに)データが登録されている状態で、既存項目の「型」を変更すると、旧データが読み込めずにエラーになることがあります。例えば文字列型を数字型に変更してしまうと、数字に変更できない文字はすべてエラーになってしまいます。

この場合は開発環境のデータベースを初期化してください。これまでのデータが消去され、新しいテーブル定義にテストデータを追加することができるようになります。

本番環境へ転送後は型の変更ができません

一度本番環境へ転送すると、項目の型の変更はできません。型を変更する必要が生じた場合、改めて新しい項目を定義し、その後、旧項目を削除してください。すでに登録済みのデータがある場合、そのデータは使えなくなります。CSV形式でダウンロードし、変更後にアップロード更新を行うといった対応が必要になります。

順序の詳細

主キーが整数型の場合、順序を利用することができます。

  • 開始番号は1000からです。新規登録のたびに1ずつ増えます。
  • 値は欠番・飛び番が生じることがあります。具体的には次のような場合です。
    • 何らかの理由で登録処理がデータベース側でエラーとなった。
    • そのデータを削除した。

順序を無効にする

「順序を利用する」を無効にすることもできます。この場合、主キーの値を手入力とするため、あわせて入力制御タブの隠し項目設定を解除します。

隠し項目の設定を解除する

順序の開始番号を変更する

標準では1000から開始されます。この開始値を変更することができます。変更する場合は、1以上の値を指定してください。

主キーの詳細設定

注意

順序を利用した場合でも主キーの値が連続であることを前提にしないようにしてください。

主キーの設計方法

Wagby Developer Network > 主キーの設計」をお読みください。