no versions found for ApplicationFrameworkReferences / Utility/Database/DBConnector/dbconnector_createtable / en

DBConnector: createTable()

指定されたテーブル定義情報からテーブルを作成します。

この関数は非同期関数です。

note
  • この関数は基底クラスでは実装されていません。派生クラスでは以下に示す仕様を満たすようにこの関数を実装する必要があります。

構文

dbConnector.createTable(tableSchema, ifNotExists) => Promise<boolean>

引数

  • tableSchema: object

    テーブル定義情報を持つオブジェクトです。これは以下のプロパティを持ちます:

    • name: string

      テーブル名です。

    • primaryKey: Array<string> | undefined (省略可)

      主キーとして使用するカラム名の順序付きリストです。

    • columns: object

      カラム情報をプロパティとして持つオブジェクトです。 各プロパティ名はカラム名が使用されます。

      各カラム情報は以下のプロパティを持つオブジェクトです:

      • type: string

        カラムの型名です。

      • unique: boolean (省略可)

        UNIQUE 制約を持つかどうかです。

        true なら UNIQUE 制約を持ち、false なら持ちません。

        このプロパティの指定は任意です。指定しない場合、UNIQUE 制約を持ちません。

      • nullable: boolean (省略可)

        NULL を許容するかどうかです。

        true なら許容し、false なら許容しません(つまり NOT NULL 制約を持ちます)。

        このプロパティの指定は任意です。指定しない場合、NULL を許容します。

      • defaultValue: string または number (省略可)

        カラムの既定値です。

        レコードの挿入時、対応するカラムの値が欠損している場合にこの値が使用されます。

        このプロパティの指定は任意です。指定がない場合、既定値は設定されません。

      • foreignKey: object (省略可)

        外部キー制約を表すオブジェクトです。これは以下のプロパティを持ちます:

        • table: string

          外部キーの定義元として参照するテーブル名です。

        • to: string

          外部キーの定義元として参照するカラム名です。

        • onUpdate: string

          ON UPDATE アクションの種別です。

          以下の値が有効です(カッコ内は対応する SQL のキーワードです):

          • "set-null" (SET NULL)
          • "set-default" (SET DEFAULT)
          • "cascade" (CASCADE)
          • "restrict" (RESTRICT)
          • "no-action" (NO ACTION)

          このプロパティの指定は任意です。指定がない場合、"no-action" が設定されます。

        • onDelete: string

          ON DELETE アクションの種別です。

          指定できる値は onUpdate と同様です。

          このプロパティの指定は任意です。指定がない場合、"no-action" が設定されます。

  • ifNotExists: boolean (省略可)

    CREATE TABLE 文で IF NOT EXISTS を使用するかどうかです。true なら IF NOT EXISTS を使用し、false なら使用しません。

    この引数の指定は任意です。指定がない場合、IF NOT EXISTS を使用します(true)。

返値: Promise<boolean>

テーブル作成が完了した際に履行される Promise です。

履行した際、テーブルが作成されたかどうかを示す boolean を与えます。 true ならテーブルが作成されたことを示し、false なら作成されなかったことを示します。

例外

以下の例外は返値の Promise が棄却された際に発生します。

  • DBInternalError
    • この関数が未実装だった場合
  • DBError
    • テーブルの作成に失敗した場合
warning
  • DBInternalErrortry-catch 文の中で catch した場合、何もせず再び throw してください。この例外はアプリケーション実行時に発生するべきではありません。

    その他のアプリケーションエラーと区別するため、この関数で発生した例外は必ず instanceof で型を検査してください。

解説

指定されたテーブル定義情報からテーブルを作成します。