SQLiteConnector: createTable()
指定されたテーブル定義情報からテーブルを作成します。
この関数は非同期関数です。
構文
sqliteConnector.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:stringON UPDATEアクションの種別です。以下の値が有効です(カッコ内は対応する SQL のキーワードです):
"set-null"(SET NULL)"set-default"(SET DEFAULT)"cascade"(CASCADE)"restrict"(RESTRICT)"no-action"(NO ACTION)
このプロパティの指定は任意です。指定がない場合、
"no-action"が設定されます。 -
onDelete:stringON 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 が棄却された際に発生します。
DBError- テーブルの作成に失敗した場合
解説
指定されたテーブル定義情報からテーブルを作成します。
この関数の呼び出しに成功した場合、getSchema() を呼び出してプロパティ schema を更新します。