Loading data/sql/schema_postgresql.sql +47 −35 Original line number Diff line number Diff line -- ----------------------------------------------------- -- 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, Loading @@ -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, Loading @@ -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), Loading @@ -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 Loading Loading @@ -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 Loading
data/sql/schema_postgresql.sql +47 −35 Original line number Diff line number Diff line -- ----------------------------------------------------- -- 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, Loading @@ -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, Loading @@ -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), Loading @@ -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 Loading Loading @@ -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