Files
cerberus/src/main/sql/1.0.0-SNAPSHOT

35 lines
1.3 KiB
Plaintext

CREATE TABLE "user" (
id uuid DEFAULT uuid_generate_v4(),
name VARCHAR NOT NULL,
email VARCHAR NOT NULL UNIQUE,
password VARCHAR NOT NULL,
inscription_date DATE DEFAULT current_date,
CONSTRAINT user_pk PRIMARY KEY (id)
);
CREATE TABLE application (
id uuid DEFAULT uuid_generate_v4(),
name VARCHAR NOT NULL,
service_name VARCHAR NOT NULL,
CONSTRAINT application_pk PRIMARY KEY (id)
);
CREATE TABLE configuration_file (
id uuid DEFAULT uuid_generate_v4(),
path VARCHAR NOT NULL,
application_id uuid NOT NULL,
CONSTRAINT configuration_file_pk PRIMARY KEY (id),
CONSTRAINT configuration_file_application_id_fk FOREIGN KEY (application_id) REFERENCES application (id)
);
CREATE INDEX configuration_file_application_id_idx ON configuration_file(application_id);
CREATE TABLE application_role (
user_id uuid NOT NULL,
application_id uuid NOT NULL,
role SMALLINT NOT NULL,
CONSTRAINT application_role_pk PRIMARY KEY (user_id, application_id),
CONSTRAINT application_role_user_id FOREIGN KEY (user_id) REFERENCES "user" (id),
CONSTRAINT application_role_application_id FOREIGN KEY (application_id) REFERENCES application (id)
);
CREATE INDEX application_role_user_id_idx ON application_role(user_id);
CREATE INDEX application_role_application_id_idx ON application_role(application_id);