Skip to content
Snippets Groups Projects
Commit bc977433 authored by Florian Joriot's avatar Florian Joriot
Browse files

modification fichier sql pour initialisation

parent b420d4b2
No related branches found
No related tags found
No related merge requests found
Pipeline #18836 passed
-- -----------------------------------------------------
-- TABLE UNICAEN_PRIVILEGE_CATEGORIE
-- -----------------------------------------------------
CREATE TABLE UNICAEN_PRIVILEGE_CATEGORIE (
CREATE TABLE IF NOT EXISTS UNICAEN_PRIVILEGE_CATEGORIE (
ID SERIAL PRIMARY KEY,
CODE VARCHAR(150) NOT NULL,
LIBELLE VARCHAR(200) NOT NULL,
......@@ -9,12 +9,12 @@ CREATE TABLE UNICAEN_PRIVILEGE_CATEGORIE (
ORDRE INTEGER DEFAULT 0
);
CREATE UNIQUE INDEX UN_UNICAEN_PRIVILEGE_CATEGORIE_CODE ON UNICAEN_PRIVILEGE_CATEGORIE (CODE);
CREATE UNIQUE INDEX IF NOT EXISTS UN_UNICAEN_PRIVILEGE_CATEGORIE_CODE ON UNICAEN_PRIVILEGE_CATEGORIE (CODE);
-- -----------------------------------------------------
-- TABLE UNICAEN_PRIVILEGE
-- -----------------------------------------------------
CREATE TABLE UNICAEN_PRIVILEGE_PRIVILEGE (
CREATE TABLE IF NOT EXISTS UNICAEN_PRIVILEGE_PRIVILEGE (
ID SERIAL PRIMARY KEY,
CATEGORIE_ID INTEGER NOT NULL,
CODE VARCHAR(150) NOT NULL,
......@@ -23,14 +23,14 @@ CREATE TABLE UNICAEN_PRIVILEGE_PRIVILEGE (
CONSTRAINT FK_UNICAEN_PRIVILEGE_CATEGORIE FOREIGN KEY (CATEGORIE_ID) REFERENCES UNICAEN_PRIVILEGE_CATEGORIE (ID) DEFERRABLE INITIALLY IMMEDIATE
);
CREATE UNIQUE INDEX UN_UNICAEN_PRIVILEGE_CODE ON UNICAEN_PRIVILEGE_PRIVILEGE (CATEGORIE_ID, CODE);
CREATE INDEX IX_UNICAEN_PRIVILEGE_CATEGORIE ON UNICAEN_PRIVILEGE_PRIVILEGE(CATEGORIE_ID);
CREATE UNIQUE INDEX IF NOT EXISTS UN_UNICAEN_PRIVILEGE_CODE ON UNICAEN_PRIVILEGE_PRIVILEGE (CATEGORIE_ID, CODE);
CREATE INDEX IF NOT EXISTS IX_UNICAEN_PRIVILEGE_CATEGORIE ON UNICAEN_PRIVILEGE_PRIVILEGE(CATEGORIE_ID);
-- -----------------------------------------------------
-- TABLE UNICAEN_ROLE_PRIVILEGE_LINKER
-- -----------------------------------------------------
CREATE TABLE UNICAEN_PRIVILEGE_PRIVILEGE_ROLE_LINKER (
CREATE TABLE IF NOT EXISTS UNICAEN_PRIVILEGE_PRIVILEGE_ROLE_LINKER (
ROLE_ID INTEGER NOT NULL,
PRIVILEGE_ID INTEGER NOT NULL,
CONSTRAINT PK_UNICAEN_PRIVILEGE_PRIVILEGE_ROLE_LINKER PRIMARY KEY (ROLE_ID, PRIVILEGE_ID),
......@@ -38,27 +38,28 @@ CREATE TABLE UNICAEN_PRIVILEGE_PRIVILEGE_ROLE_LINKER (
CONSTRAINT FK_UNICAEN_PRIVILEGE_PRIVILEGE_ROLE_LINKER_PRIVILEGE FOREIGN KEY (PRIVILEGE_ID) REFERENCES UNICAEN_PRIVILEGE_PRIVILEGE (ID) DEFERRABLE INITIALLY IMMEDIATE
);
CREATE INDEX IX_UNICAEN_PRIVILEGE_PRIVILEGE_ROLE_LINKER_ROLE ON UNICAEN_PRIVILEGE_PRIVILEGE_ROLE_LINKER (ROLE_ID);
CREATE INDEX IX_UNICAEN_PRIVILEGE_PRIVILEGE_ROLE_LINKER_PRIVILEGE ON UNICAEN_PRIVILEGE_PRIVILEGE_ROLE_LINKER (PRIVILEGE_ID);
CREATE INDEX IF NOT EXISTS IX_UNICAEN_PRIVILEGE_PRIVILEGE_ROLE_LINKER_ROLE ON UNICAEN_PRIVILEGE_PRIVILEGE_ROLE_LINKER (ROLE_ID);
CREATE INDEX IF NOT EXISTS IX_UNICAEN_PRIVILEGE_PRIVILEGE_ROLE_LINKER_PRIVILEGE ON UNICAEN_PRIVILEGE_PRIVILEGE_ROLE_LINKER (PRIVILEGE_ID);
-- DATA
INSERT INTO UNICAEN_PRIVILEGE_CATEGORIE (
CODE,
LIBELLE,
NAMESPACE,
ORDRE)
values
('utilisateur', 'Gestion des utilisateurs', 'UnicaenUtilisateur\Provider\Privilege' 1),
('role', 'Gestion des rôles', 'UnicaenUtilisateur\Provider\Privilege', 1),
('privilege', 'Gestion des privilèges', 'UnicaenPrivilege\Provider\Privilege', 1)
('utilisateur', 'Gestion des utilisateurs', 'UnicaenUtilisateur\Provider\Privilege', 1),
('role', 'Gestion des rôles', 'UnicaenUtilisateur\Provider\Privilege', 2),
('privilege', 'Gestion des privilèges', 'UnicaenPrivilege\Provider\Privilege', 3)
ON CONFLICT (CODE) DO
UPDATE SET
LIBELLE=excluded.LIBELLE,
NAMESPACE=excluded.NAMESPACE,
ORDRE=excluded.ORDRE;
WITH d(code, lib, ordre) AS (
SELECT 'utilisateur_afficher', 'Consulter un utilisateur', 1 UNION
SELECT 'utilisateur_ajouter', 'Ajouter un utilisateur', 2 UNION
......@@ -104,3 +105,14 @@ FROM d
UPDATE SET
LIBELLE=excluded.LIBELLE,
ORDRE=excluded.ORDRE;
INSERT INTO unicaen_privilege_privilege_role_linker
(role_id, privilege_id)
SELECT role.id, privilege.id
FROM
unicaen_utilisateur_role role,
unicaen_privilege_privilege privilege
JOIN unicaen_privilege_categorie cp ON privilege.categorie_id = cp.id
WHERE role.role_id = 'Admin_tech'
AND cp.code IN('utilisateur', 'role', 'privilege')
ON conflict do nothing;
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment