SQLiteConnector: getSchema()
データベースの定義情報を取得します。
この関数は非同期関数です。
構文
sqliteConnector.getSchema() => Promise<object>
返値: Promise<object>
データベースの定義情報を取得した際に履行される Promise
です。
履行した際、データベース定義情報を表す object
を与えます。このオブジェクトは以下のプロパティを持ちます。
-
tables
:Array<object>
テーブルの定義情報を表すオブジェクトの配列です。 それぞれのテーブル定義情報を表すオブジェクトは以下のプロパティを持ちます:
-
name
:string
テーブルの名前です。
-
primaryKey
:Array<string>
主キーとして使用するカラム名の順序付きリストです。
-
columns
:object
テーブルのカラムの定義情報をプロパティに持つオブジェクトです。 各プロパティ名にはカラム名が使用されます。
各カラムの定義情報は以下のプロパティを持つオブジェクトです:
-
type
:string
カラムの型名です。
-
unique
:boolean
UNIQUE
制約を持つかどうかです。true
ならUNIQUE
制約を持ち、false
なら持ちません。 -
nullable
:boolean
NULL
を許容するかどうかです。true
なら許容し、false
なら許容しません(つまりNOT 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
)
-
onDelete
:string
ON DELETE
アクションの種別です。指定される値は
onUpdate
と同様です。
-
-
-
例外
以下の例外は返値の Promise
が棄却された際に発生します。
DBError
- データベースの定義情報の取得に失敗した場合
解説
データベースの定義情報を取得します。