feat(backend): Update SQL schema, don't drop database in prod
This commit is contained in:
@@ -10,9 +10,9 @@ spring:
|
|||||||
password: ${LEGALCONSENTHUB_DB_PASSWORD}
|
password: ${LEGALCONSENTHUB_DB_PASSWORD}
|
||||||
|
|
||||||
jpa:
|
jpa:
|
||||||
show-sql: true
|
show-sql: false
|
||||||
hibernate:
|
hibernate:
|
||||||
ddl-auto: create
|
ddl-auto: validate
|
||||||
database-platform: org.hibernate.dialect.PostgreSQLDialect
|
database-platform: org.hibernate.dialect.PostgreSQLDialect
|
||||||
properties:
|
properties:
|
||||||
hibernate:
|
hibernate:
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
create table app_user
|
create table app_user
|
||||||
(
|
(
|
||||||
|
email_on_form_created boolean not null,
|
||||||
|
email_on_form_submitted boolean not null,
|
||||||
created_at timestamp(6) not null,
|
created_at timestamp(6) not null,
|
||||||
modified_at timestamp(6) not null,
|
modified_at timestamp(6) not null,
|
||||||
id varchar(255) not null,
|
email varchar(255),
|
||||||
|
keycloak_id varchar(255) not null,
|
||||||
name varchar(255) not null,
|
name varchar(255) not null,
|
||||||
status varchar(255) not null check (status in ('INVITED', 'ACTIVE', 'BLOCKED', 'SUSPENDED_SUBSCRIPTION')),
|
organization_id varchar(255),
|
||||||
primary key (id)
|
primary key (keycloak_id)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table application_form
|
create table application_form
|
||||||
@@ -22,6 +25,20 @@ create table application_form
|
|||||||
primary key (id)
|
primary key (id)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
create table application_form_version
|
||||||
|
(
|
||||||
|
version_number integer not null,
|
||||||
|
created_at timestamp(6) not null,
|
||||||
|
application_form_id uuid not null,
|
||||||
|
id uuid not null,
|
||||||
|
created_by_id varchar(255) not null,
|
||||||
|
name varchar(255) not null,
|
||||||
|
organization_id varchar(255) not null,
|
||||||
|
snapshot_data TEXT not null,
|
||||||
|
status varchar(255) not null check (status in ('DRAFT', 'SUBMITTED', 'APPROVED', 'REJECTED', 'SIGNED')),
|
||||||
|
primary key (id)
|
||||||
|
);
|
||||||
|
|
||||||
create table comment
|
create table comment
|
||||||
(
|
(
|
||||||
created_at timestamp(6) not null,
|
created_at timestamp(6) not null,
|
||||||
@@ -45,8 +62,9 @@ create table form_element_options
|
|||||||
|
|
||||||
create table form_element
|
create table form_element
|
||||||
(
|
(
|
||||||
type smallint not null check (type between 0 and 4),
|
form_element_order integer,
|
||||||
form_element_section_id uuid not null,
|
type smallint not null check (type between 0 and 5),
|
||||||
|
form_element_sub_section_id uuid not null,
|
||||||
id uuid not null,
|
id uuid not null,
|
||||||
description varchar(255),
|
description varchar(255),
|
||||||
title varchar(255),
|
title varchar(255),
|
||||||
@@ -63,6 +81,16 @@ create table form_element_section
|
|||||||
primary key (id)
|
primary key (id)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
create table form_element_sub_section
|
||||||
|
(
|
||||||
|
form_element_sub_section_order integer,
|
||||||
|
form_element_section_id uuid not null,
|
||||||
|
id uuid not null,
|
||||||
|
subtitle varchar(255),
|
||||||
|
title varchar(255) not null,
|
||||||
|
primary key (id)
|
||||||
|
);
|
||||||
|
|
||||||
create table notification
|
create table notification
|
||||||
(
|
(
|
||||||
is_read boolean not null,
|
is_read boolean not null,
|
||||||
@@ -72,20 +100,12 @@ create table notification
|
|||||||
message TEXT not null,
|
message TEXT not null,
|
||||||
organization_id varchar(255) not null,
|
organization_id varchar(255) not null,
|
||||||
recipient_id varchar(255),
|
recipient_id varchar(255),
|
||||||
role varchar(255) not null,
|
target_roles TEXT,
|
||||||
title varchar(255) not null,
|
title varchar(255) not null,
|
||||||
type varchar(255) not null check (type in ('INFO', 'WARNING', 'ERROR')),
|
type varchar(255) not null check (type in ('INFO', 'WARNING', 'ERROR')),
|
||||||
primary key (id)
|
primary key (id)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table user_organization_roles
|
|
||||||
(
|
|
||||||
organization_id varchar(255) not null,
|
|
||||||
role varchar(255) not null,
|
|
||||||
user_id varchar(255) not null,
|
|
||||||
primary key (organization_id, role, user_id)
|
|
||||||
);
|
|
||||||
|
|
||||||
alter table if exists application_form
|
alter table if exists application_form
|
||||||
add constraint FKhtad5onoy2jknhtyfmx6cvvey
|
add constraint FKhtad5onoy2jknhtyfmx6cvvey
|
||||||
foreign key (created_by_id)
|
foreign key (created_by_id)
|
||||||
@@ -96,6 +116,17 @@ alter table if exists application_form
|
|||||||
foreign key (last_modified_by_id)
|
foreign key (last_modified_by_id)
|
||||||
references app_user;
|
references app_user;
|
||||||
|
|
||||||
|
alter table if exists application_form_version
|
||||||
|
add constraint FKpfri4lhy9wqfsp8esabedkq6c
|
||||||
|
foreign key (application_form_id)
|
||||||
|
references application_form
|
||||||
|
on delete cascade;
|
||||||
|
|
||||||
|
alter table if exists application_form_version
|
||||||
|
add constraint FKl6fbcrvh439gbwgcvvfyxaggi
|
||||||
|
foreign key (created_by_id)
|
||||||
|
references app_user;
|
||||||
|
|
||||||
alter table if exists comment
|
alter table if exists comment
|
||||||
add constraint FKlavy9axrt26sepreg5lqtuoap
|
add constraint FKlavy9axrt26sepreg5lqtuoap
|
||||||
foreign key (application_form_id)
|
foreign key (application_form_id)
|
||||||
@@ -117,21 +148,21 @@ alter table if exists form_element_options
|
|||||||
references form_element;
|
references form_element;
|
||||||
|
|
||||||
alter table if exists form_element
|
alter table if exists form_element
|
||||||
add constraint FKdpr6k93m4hqllqjsvoa4or6mp
|
add constraint FKsgs6jmigb70ylymtby3tnpusg
|
||||||
foreign key (form_element_section_id)
|
foreign key (form_element_sub_section_id)
|
||||||
references form_element_section;
|
references form_element_sub_section;
|
||||||
|
|
||||||
alter table if exists form_element_section
|
alter table if exists form_element_section
|
||||||
add constraint FKtn0lreovauwf2v29doo70o3qs
|
add constraint FKtn0lreovauwf2v29doo70o3qs
|
||||||
foreign key (application_form_id)
|
foreign key (application_form_id)
|
||||||
references application_form;
|
references application_form;
|
||||||
|
|
||||||
|
alter table if exists form_element_sub_section
|
||||||
|
add constraint FK46c23gs3wjyyitiv77wfbq2id
|
||||||
|
foreign key (form_element_section_id)
|
||||||
|
references form_element_section;
|
||||||
|
|
||||||
alter table if exists notification
|
alter table if exists notification
|
||||||
add constraint FKeg1j4hnp0y4lbm0y35hgr4e8r
|
add constraint FKeg1j4hnp0y4lbm0y35hgr4e8r
|
||||||
foreign key (recipient_id)
|
foreign key (recipient_id)
|
||||||
references app_user;
|
|
||||||
|
|
||||||
alter table if exists user_organization_roles
|
|
||||||
add constraint FKhgmm93qre3up6hy63wcef3yqk
|
|
||||||
foreign key (user_id)
|
|
||||||
references app_user
|
references app_user
|
||||||
|
|||||||
Reference in New Issue
Block a user