The database DDL & DML for illa-builder-backend repo
build-all-in-one-image/scripts/postgres-init.sh
Lines 59 to 229 in c5061f5
| -- init illa_builder | |
| create database illa_builder; | |
| \c illa_builder; | |
| create user illa_builder with encrypted password 'illa2022'; | |
| grant all privileges on database illa_builder to illa_builder; | |
| CREATE EXTENSION pg_trgm; | |
| CREATE EXTENSION btree_gin; | |
| -- apps | |
| create table if not exists apps ( | |
| id bigserial not null primary key, | |
| uid uuid default gen_random_uuid() not null, | |
| team_id bigserial not null, | |
| name varchar(200) not null, | |
| release_version bigint not null, | |
| mainline_version bigint not null, | |
| config jsonb, | |
| created_at timestamp not null, | |
| created_by bigint not null, | |
| updated_at timestamp not null, | |
| updated_by bigint not null, | |
| edited_by jsonb | |
| ); | |
| alter table apps owner to illa_builder; | |
| -- app_snapshots | |
| create table if not exists app_snapshots ( | |
| id bigserial not null primary key, | |
| uid uuid default gen_random_uuid() not null, | |
| team_id bigserial not null, | |
| app_ref_id bigserial not null, | |
| target_version bigint not null, | |
| trigger_mode smallint not null, | |
| modify_history jsonb, | |
| created_at timestamp not null | |
| ); | |
| alter table app_snapshots owner to illa_builder; | |
| -- resource | |
| create table if not exists resources ( | |
| id bigserial not null primary key, | |
| uid uuid default gen_random_uuid() not null, | |
| team_id bigserial not null, | |
| name varchar(200) not null, | |
| type smallint not null, | |
| options jsonb, | |
| created_at timestamp not null, | |
| created_by bigint not null, | |
| updated_at timestamp not null, | |
| updated_by bigint not null | |
| ); | |
| alter table resources owner to illa_builder; | |
| -- actions | |
| create table if not exists actions ( | |
| id bigserial not null primary key, | |
| uid uuid default gen_random_uuid() not null, | |
| team_id bigserial not null, | |
| version bigint not null, | |
| resource_ref_id bigint not null, | |
| app_ref_id bigint not null, | |
| name varchar(255) not null, | |
| type smallint not null, | |
| transformer jsonb not null, | |
| trigger_mode varchar(16) not null, | |
| template jsonb, | |
| config jsonb, | |
| created_at timestamp not null, | |
| created_by bigint not null, | |
| updated_at timestamp not null, | |
| updated_by bigint not null | |
| ); | |
| create index if not exists actions_at_apprefid_and_version on actions (app_ref_id, version); | |
| alter table actions owner to illa_builder; | |
| ALTER TABLE actions DROP CONSTRAINT IF EXISTS actions_displayname_constrainte, | |
| ADD CONSTRAINT actions_displayname_constrainte UNIQUE (version, app_ref_id, name); | |
| -- tree_states, component tree_states | |
| create table if not exists tree_states ( | |
| id bigserial not null primary key, | |
| uid uuid default gen_random_uuid() not null, | |
| team_id bigserial not null, | |
| state_type smallint not null, | |
| parent_node_ref_id bigint not null, | |
| children_node_ref_ids jsonb, | |
| app_ref_id bigint not null, | |
| version bigint not null, | |
| name text not null, | |
| content jsonb not null, | |
| created_at timestamp not null, | |
| created_by bigint not null, | |
| updated_at timestamp not null, | |
| updated_by bigint not null | |
| ); | |
| CREATE INDEX tree_states_at_apprefid_and_version_and_statetype ON tree_states (app_ref_id, version, state_type); | |
| CREATE INDEX tree_states_at_parentnoderefid ON tree_states (parent_node_ref_id); | |
| CREATE INDEX tree_states_at_childrennoderefids ON tree_states (children_node_ref_ids); | |
| CREATE INDEX tree_states_with_gin_at_childrennoderefids ON tree_states USING gin (children_node_ref_ids); | |
| CREATE INDEX tree_states_with_gin_at_name ON tree_states USING gin (name); | |
| CREATE INDEX tree_states_with_fulltextgin_at_name ON tree_states USING gin (to_tsvector('english', name)); | |
| ALTER TABLE tree_states DROP CONSTRAINT IF EXISTS tree_states_displayname_constrainte, | |
| ADD CONSTRAINT tree_states_displayname_constrainte UNIQUE (version, app_ref_id, name); | |
| alter table tree_states owner to illa_builder; | |
| -- kv_states, component kv_states | |
| create table if not exists kv_states ( | |
| id bigserial not null primary key, | |
| uid uuid default gen_random_uuid() not null, | |
| team_id bigserial not null, | |
| state_type smallint not null, | |
| app_ref_id bigint not null, | |
| version bigint not null, | |
| key text not null, | |
| value jsonb not null, | |
| created_at timestamp not null, | |
| created_by bigint not null, | |
| updated_at timestamp not null, | |
| updated_by bigint not null | |
| ); | |
| CREATE INDEX kv_states_at_apprefid_and_version_and_statetype ON kv_states (app_ref_id, version, state_type); | |
| CREATE INDEX kv_states_with_gin_at_key ON kv_states USING gin (key); | |
| CREATE INDEX kv_states_with_fulltextgin_at_key ON kv_states USING gin (to_tsvector('english', key)); | |
| ALTER TABLE kv_states DROP CONSTRAINT IF EXISTS kv_states_displayname_constrainte, | |
| ADD CONSTRAINT kv_states_displayname_constrainte UNIQUE (version, app_ref_id, key); | |
| alter table kv_states owner to illa_builder; | |
| -- set_states, component set_states | |
| create table if not exists set_states ( | |
| id bigserial not null primary key, | |
| uid uuid default gen_random_uuid() not null, | |
| team_id bigserial not null, | |
| state_type smallint not null, | |
| app_ref_id bigint not null, | |
| version bigint not null, | |
| value text not null, | |
| created_at timestamp not null, | |
| created_by bigint not null, | |
| updated_at timestamp not null, | |
| updated_by bigint not null | |
| ); | |
| CREATE INDEX set_states_at_apprefid_and_version_and_statetype ON set_states (app_ref_id, version, state_type); | |
| CREATE INDEX set_states_with_gin_at_value ON set_states USING gin (value); | |
| CREATE INDEX set_states_with_fulltextgin_at_value ON set_states USING gin (to_tsvector('english', value)); | |
| ALTER TABLE set_states DROP CONSTRAINT IF EXISTS set_states_displayname_constrainte, | |
| ADD CONSTRAINT set_states_displayname_constrainte UNIQUE (version, app_ref_id, value); | |
| alter table set_states owner to illa_builder; | |