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, is_admin BOOLEAN NOT NULL DEFAULT FALSE, 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);