Packages

SQL query builder core for Gleam

Current section

Files

Jump to
galchemy src galchemy@schema@model.erl
Raw

src/galchemy@schema@model.erl

-module(galchemy@schema@model).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src\\galchemy\\schema\\model.gleam").
-export_type([schema_snapshot/0, table_schema/0, column_schema/0, column_type/0, primary_key/0, unique_constraint/0, foreign_key/0, index_schema/0]).
-type schema_snapshot() :: {schema_snapshot, list(table_schema())}.
-type table_schema() :: {table_schema,
binary(),
binary(),
list(column_schema()),
gleam@option:option(primary_key()),
list(unique_constraint()),
list(foreign_key()),
list(index_schema())}.
-type column_schema() :: {column_schema,
binary(),
column_type(),
boolean(),
gleam@option:option(binary()),
integer()}.
-type column_type() :: small_int_type |
integer_type |
big_int_type |
boolean_type |
text_type |
{var_char_type, gleam@option:option(integer())} |
{timestamp_type, boolean()} |
{time_type, boolean()} |
date_type |
real_type |
double_precision_type |
{numeric_type,
gleam@option:option(integer()),
gleam@option:option(integer())} |
json_type |
jsonb_type |
uuid_type |
bytea_type |
{array_type, column_type()} |
{custom_type, binary()}.
-type primary_key() :: {primary_key, binary(), list(binary())}.
-type unique_constraint() :: {unique_constraint, binary(), list(binary())}.
-type foreign_key() :: {foreign_key,
binary(),
list(binary()),
binary(),
binary(),
list(binary())}.
-type index_schema() :: {index_schema, binary(), boolean(), binary()}.