Commit d03dcff1 authored by Florian Joriot's avatar Florian Joriot
Browse files

maj du script sql

parent 3ee035a4
Loading
Loading
Loading
Loading
+52 −11
Original line number Diff line number Diff line
-- -----------------------------------------------------
-- TABLE UNICAEN_UTILISATEUR_ROLE
-- -----------------------------------------------------
CREATE TABLE UNICAEN_UTILISATEUR_ROLE (
CREATE TABLE IF NOT EXISTS UNICAEN_UTILISATEUR_ROLE (
                                          ID                    SERIAL        PRIMARY KEY,
                                          ROLE_ID               VARCHAR(64)   NOT NULL,
                                          LIBELLE               VARCHAR(255)  NOT NULL,
@@ -14,14 +14,14 @@ CREATE TABLE UNICAEN_UTILISATEUR_ROLE (
                                          CONSTRAINT FK_UNICAEN_UTILISATEUR_ROLE_PARENT FOREIGN KEY (PARENT_ID) REFERENCES UNICAEN_UTILISATEUR_ROLE (ID) DEFERRABLE INITIALLY IMMEDIATE
);

CREATE UNIQUE INDEX UN_UNICAEN_UTILISATEUR_ROLE_ROLE_ID ON UNICAEN_UTILISATEUR_ROLE (ROLE_ID);
CREATE INDEX IX_UNICAEN_UTILISATEUR_ROLE_PARENT ON UNICAEN_UTILISATEUR_ROLE (PARENT_ID);
CREATE UNIQUE INDEX IF NOT EXISTS UN_UNICAEN_UTILISATEUR_ROLE_ROLE_ID ON UNICAEN_UTILISATEUR_ROLE (ROLE_ID);
CREATE INDEX IF NOT EXISTS IX_UNICAEN_UTILISATEUR_ROLE_PARENT ON UNICAEN_UTILISATEUR_ROLE (PARENT_ID);


-- -----------------------------------------------------
-- TABLE UNICAEN_UTILISATEUR_USER
-- -----------------------------------------------------
CREATE TABLE UNICAEN_UTILISATEUR_USER (
CREATE TABLE IF NOT EXISTS UNICAEN_UTILISATEUR_USER (
                                          ID                    SERIAL        PRIMARY KEY,
                                          USERNAME              VARCHAR(255)  NOT NULL,
                                          DISPLAY_NAME          VARCHAR(255)  NOT NULL,
@@ -37,29 +37,70 @@ CREATE TABLE UNICAEN_UTILISATEUR_USER (

-- CREATE UNIQUE INDEX UN_UNICAEN_UTILISATEUR_USER_USERNAME ON UNICAEN_UTILISATEUR_USER(USERNAME);
-- CREATE UNIQUE INDEX UN_UNICAEN_UTILISATEUR_USER_PASSWORD_RESET_TOKEN ON UNICAEN_UTILISATEUR_USER(PASSWORD_RESET_TOKEN);
CREATE INDEX IX_UNICAEN_UTILISATEUR_USER_LAST_ROLE ON UNICAEN_UTILISATEUR_USER(LAST_ROLE_ID);
CREATE INDEX IF NOT EXISTS IX_UNICAEN_UTILISATEUR_USER_LAST_ROLE ON UNICAEN_UTILISATEUR_USER(LAST_ROLE_ID);


-- -----------------------------------------------------
-- TABLE UNICAEN_UTILISATEUR_ROLE_LINKER
-- -----------------------------------------------------
CREATE TABLE UNICAEN_UTILISATEUR_ROLE_LINKER (
CREATE TABLE IF NOT EXISTS UNICAEN_UTILISATEUR_ROLE_LINKER (
                                                 USER_ID  INTEGER NOT NULL,
                                                 ROLE_ID         INTEGER NOT NULL,
                                                 CONSTRAINT PK_UNICAEN_UTILISATEUR_ROLE_LINKER PRIMARY KEY (UTILISATEUR_ID, ROLE_ID),
                                                 CONSTRAINT FK_UNICAEN_UTILISATEUR_ROLE_LINKER_USER FOREIGN KEY (UTILISATEUR_ID) REFERENCES UNICAEN_UTILISATEUR_USER (ID) DEFERRABLE INITIALLY IMMEDIATE,
                                                 CONSTRAINT PK_UNICAEN_UTILISATEUR_ROLE_LINKER PRIMARY KEY (USER_ID, ROLE_ID),
                                                 CONSTRAINT FK_UNICAEN_UTILISATEUR_ROLE_LINKER_USER FOREIGN KEY (USER_ID) REFERENCES UNICAEN_UTILISATEUR_USER (ID) DEFERRABLE INITIALLY IMMEDIATE,
                                                 CONSTRAINT FK_UNICAEN_UTILISATEUR_ROLE_LINKER_ROLE FOREIGN KEY (ROLE_ID) REFERENCES UNICAEN_UTILISATEUR_ROLE (ID) DEFERRABLE INITIALLY IMMEDIATE
);

CREATE INDEX IX_UNICAEN_UTILISATEUR_ROLE_LINKER_USER ON UNICAEN_UTILISATEUR_ROLE_LINKER (UTILISATEUR_ID);
CREATE INDEX IX_UNICAEN_UTILISATEUR_ROLE_LINKER_ROLE ON UNICAEN_UTILISATEUR_ROLE_LINKER (ROLE_ID);
CREATE INDEX IF NOT EXISTS IX_UNICAEN_UTILISATEUR_ROLE_LINKER_USER ON UNICAEN_UTILISATEUR_ROLE_LINKER (USER_ID);
CREATE INDEX IF NOT EXISTS IX_UNICAEN_UTILISATEUR_ROLE_LINKER_ROLE ON UNICAEN_UTILISATEUR_ROLE_LINKER (ROLE_ID);


-- DATA
INSERT INTO UNICAEN_UTILISATEUR_USER (
    ID,
    USERNAME,
    EMAIL,
    DISPLAY_NAME,
    PASSWORD)
    values ('app', 'dsi.applications@unicaen.fr', 'Application', 'application');
    values (0, 'app', 'dsi.applications@unicaen.fr', 'Application', 'application')
    on conflict (USERNAME) DO
        UPDATE SET
        EMAIL=excluded.EMAIL,
        DISPLAY_NAME=excluded.DISPLAY_NAME,
        PASSWORD=excluded.PASSWORD;

insert into unicaen_utilisateur_role
    (role_id,
    libelle,
    description,
    is_default,
    is_auto,
    parent_id,
    ldap_filter,
    accessible_exterieur)
    values
        ('Admin_tech ', 'Administrateur·trice Technique', 'Administrateur Technique', false, true, null, null, true),
        ('Admin_fonc ', 'Administrateur·trice Fonctionnel·le', 'Administrateur·trice Fonctionnel·le', false, true, null, null, true),
        ('Observateur ', 'Observateur·trice', 'Observateur·trice', false, true, null, null, true)
    ON CONFLICT (role_id) DO
        UPDATE SET
        libelle=excluded.libelle,
        description=excluded.description,
        is_default=excluded.is_default,
        is_auto=excluded.is_auto,
        parent_id=excluded.parent_id,
        ldap_filter=excluded.ldap_filter,
        accessible_exterieur=excluded.accessible_exterieur;

-- INSERT INTO UNICAEN_UTILISATEUR_USER (username, email, display_name, password, state) VALUES
-- -- utilisateur demo/azerty
-- ('demo', 'demo@mail.fr', 'Demo Crite', '$2y$10$PxXnVLYnGEzEnfqPqRKJSe9AabocES2H4bBK5VzzJlzuj1rVt7Lwu', true);


-- INSERT INTO unicaen_utilisateur_role_linker
--     (role_id, user_id)
--     SELECT role.id, u.id FROM unicaen_utilisateur_role role,
--     unicaen_utilisateur_user u
--     WHERE role.role_id = 'Admin_tech'
--     AND u.username = 'demo'
--     ON CONFLICT DO NOTHING ;
 No newline at end of file