ExSQL. AST. CreateTable
(exsql v0.1.4)
Copy Markdown
A CREATE TABLE statement.
Summary
Types
A table-level constraint, after the column list.
Types
@type fk_action() :: :no_action | :restrict | :set_null | :set_default | :cascade
A table-level constraint, after the column list.
{:primary_key, name | nil, [col_name]}— composite PK{:unique, name | nil, [col_name]}— composite UNIQUE{:check, name | nil, expr}— CHECK expression{:foreign_key, name | nil, [col_name], ref_table, [ref_col], actions}— table FK;actionsis%{on_delete: action, on_update: action, deferred: boolean}with action one of:no_action | :restrict | :set_null | :set_default | :cascade
@type t() :: %ExSQL.AST.CreateTable{ columns: [ExSQL.AST.ColumnDef.t()], constraints: [table_constraint()], if_not_exists: boolean(), name: String.t(), query: ExSQL.Parser.statement() | nil, schema: String.t() | nil, strict: boolean(), without_rowid: boolean() }