Refactor to support multiple instances.
This commit is contained in:
@@ -4,12 +4,20 @@ create table users(
|
||||
email varchar(255) not null,
|
||||
username varchar(255) not null unique,
|
||||
key_key varchar(255),
|
||||
key_iv varchar(255));
|
||||
key_iv varchar(255)
|
||||
);
|
||||
create unique index users_auth_user_id_idx on users (auth_user_id);
|
||||
|
||||
create table instances(
|
||||
instance_id bigserial primary key,
|
||||
user_id integer not null references users on delete cascade
|
||||
);
|
||||
create unique index instances_user_id_instance_id_idx on instances (instance_id, user_id);
|
||||
|
||||
create table user_service_configs(
|
||||
id bigserial primary key,
|
||||
user_id integer unique not null references users on delete cascade,
|
||||
user_id integer not null references users on delete cascade,
|
||||
instance_id integer not null references instances on delete cascade,
|
||||
cloudflare_api_token_enc varchar(255),
|
||||
cloudflare_account_id_enc varchar(255),
|
||||
cloudflare_zone_id_enc varchar(255),
|
||||
@@ -20,25 +28,27 @@ create table user_service_configs(
|
||||
backblaze_key_id_enc varchar(255),
|
||||
backblaze_bucket_url_enc varchar(255)
|
||||
);
|
||||
create unique index user_service_configs_user_id_idx on user_service_configs (user_id);
|
||||
create unique index user_service_configs_user_id_instance_id_idx on user_service_configs (user_id, instance_id);
|
||||
|
||||
create table user_selected_apps(
|
||||
id bigserial primary key,
|
||||
user_id integer unique not null references users on delete cascade,
|
||||
user_id integer not null references users on delete cascade,
|
||||
instance_id integer not null references instances on delete cascade,
|
||||
wg_easy_version varchar(100),
|
||||
nextcloud_version varchar(100),
|
||||
log_viewer_version varchar(100)
|
||||
);
|
||||
create unique index user_selected_apps_user_id_idx on user_selected_apps (user_id);
|
||||
create unique index user_selected_apps_user_id_instance_id_idx on user_selected_apps (user_id, instance_id);
|
||||
|
||||
create table user_app_configs(
|
||||
id bigserial primary key,
|
||||
user_id integer unique not null references users on delete cascade,
|
||||
user_id integer not null references users on delete cascade,
|
||||
instance_id integer not null references instances on delete cascade,
|
||||
root_domain varchar(100),
|
||||
config_enc text
|
||||
);
|
||||
|
||||
create unique index user_app_configs_user_id_idx on user_app_configs (user_id);
|
||||
create unique index user_app_configs_user_id_instance_id_idx on user_app_configs (user_id, instance_id);
|
||||
|
||||
|
||||
create type deployment_status as enum ('queued', 'in-progress', 'complete', 'failed');
|
||||
@@ -46,6 +56,7 @@ create type deployment_status as enum ('queued', 'in-progress', 'complete', 'fai
|
||||
create table deployments(
|
||||
id bigserial primary key,
|
||||
user_id integer not null references users on delete cascade,
|
||||
instance_id integer not null references instances on delete cascade,
|
||||
started timestamptz,
|
||||
finished timestamptz,
|
||||
status deployment_status not null default 'queued',
|
||||
@@ -62,13 +73,14 @@ create table deployments(
|
||||
log_enc text
|
||||
);
|
||||
|
||||
create index deployments_user_id_idx on deployments (user_id);
|
||||
create index deployments_user_id_instance_id_idx on deployments (user_id, instance_id);
|
||||
|
||||
create table user_terraform_state(
|
||||
id bigserial primary key,
|
||||
user_id integer unique not null references users on delete cascade,
|
||||
user_id integer not null references users on delete cascade,
|
||||
instance_id integer not null references instances on delete cascade,
|
||||
state_enc text,
|
||||
state_backup_enc text
|
||||
);
|
||||
|
||||
create unique index user_terraform_state_user_id_idx on user_terraform_state (user_id);
|
||||
create unique index user_terraform_state_user_id_instance_id_idx on user_terraform_state (user_id, instance_id);
|
||||
|
||||
Reference in New Issue
Block a user