Current section
Files
Jump to
Current section
Files
src/galchemy@examples@schema_introspection.erl
-module(galchemy@examples@schema_introspection).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src\\galchemy\\examples\\schema_introspection.gleam").
-export([main/0]).
-file("src\\galchemy\\examples\\schema_introspection.gleam", 28).
-spec sample_columns() -> list(galchemy@schema@introspection@postgres:column_row()).
sample_columns() ->
[{column_row,
<<"public"/utf8>>,
<<"users"/utf8>>,
<<"id"/utf8>>,
1,
false,
<<"integer"/utf8>>,
<<"int4"/utf8>>,
none,
none,
none,
none,
{some, <<"nextval('users_id_seq'::regclass)"/utf8>>}},
{column_row,
<<"public"/utf8>>,
<<"users"/utf8>>,
<<"email"/utf8>>,
2,
false,
<<"text"/utf8>>,
<<"text"/utf8>>,
none,
none,
none,
none,
none}].
-file("src\\galchemy\\examples\\schema_introspection.gleam", 61).
-spec sample_constraints() -> list(galchemy@schema@introspection@postgres:constraint_row()).
sample_constraints() ->
[{constraint_row,
<<"public"/utf8>>,
<<"users"/utf8>>,
<<"users_pkey"/utf8>>,
primary_key_constraint,
<<"id"/utf8>>,
1,
none,
none,
none},
{constraint_row,
<<"public"/utf8>>,
<<"users"/utf8>>,
<<"users_email_key"/utf8>>,
unique_constraint,
<<"email"/utf8>>,
1,
none,
none,
none}].
-file("src\\galchemy\\examples\\schema_introspection.gleam", 88).
-spec sample_indexes() -> list(galchemy@schema@introspection@postgres:index_row()).
sample_indexes() ->
[{index_row,
<<"public"/utf8>>,
<<"users"/utf8>>,
<<"users_email_idx"/utf8>>,
true,
<<"CREATE UNIQUE INDEX users_email_idx ON public.users USING btree (email)"/utf8>>}].
-file("src\\galchemy\\examples\\schema_introspection.gleam", 6).
-spec main() -> nil.
main() ->
Options = begin
_pipe = galchemy@schema@introspection@postgres:default_options(),
galchemy@schema@introspection@postgres:only_schemas(
_pipe,
[<<"public"/utf8>>]
)
end,
gleam_stdlib:println(<<"Schema introspection example"/utf8>>),
gleam_stdlib:println(<<"Columns query:"/utf8>>),
gleam_stdlib:println(
gleam@string:inspect(
galchemy@schema@introspection@postgres:compile_columns_query(
Options
)
)
),
gleam_stdlib:println(<<"Constraints query:"/utf8>>),
gleam_stdlib:println(
gleam@string:inspect(
galchemy@schema@introspection@postgres:compile_constraints_query(
Options
)
)
),
gleam_stdlib:println(<<"Indexes query:"/utf8>>),
gleam_stdlib:println(
gleam@string:inspect(
galchemy@schema@introspection@postgres:compile_indexes_query(
Options
)
)
),
gleam_stdlib:println(<<"Snapshot from sampled rows:"/utf8>>),
gleam_stdlib:println(
gleam@string:inspect(
galchemy@schema@introspection@postgres:rows_to_snapshot(
sample_columns(),
sample_constraints(),
sample_indexes()
)
)
).