Loading readme.md +9 −1 Changes for readme.md: 9 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -56,7 +56,15 @@ $ composer require unicaen/privilege Il faut ajouter le module **UnicaenPrivilege** dans le fichier de config `config/application.config.php` ## Migration ## Migration vers les périmètres Il est nécessaire de modifier la base de données et d'utiliser les scripts de migration disponibles : * [PostgreSQL](./sql/migration_perimetre_postgresql.sql) * [Oracle](./sql/migration_perimetre_oracle.sql) > [!WARNING] > Certains noms de séquence sont à compléter et il est nécessaire de bien vérifier les noms des tables avant d'utiliser le script de migration. ## Utilisation du module Loading sql/migration_perimetre_oracle.sql +46 −0 Changes for sql/migration_perimetre_oracle.sql: 46 added lines, 0 removed lines. Original line number Diff line number Diff line -- ----------------------------------------------------- -- Table unicaen_utilisateur_role -- ----------------------------------------------------- RENAME <seq_name> TO unicaen_utilisateur_role_id_seq; -- ----------------------------------------------------- -- Table unicaen_utilisateur_user -- ----------------------------------------------------- RENAME <seq_name> TO unicaen_utilisateur_user_id_seq; -- ----------------------------------------------------- -- Table unicaen_utilisateur_user_role_linker -- ----------------------------------------------------- CREATE SEQUENCE unicaen_utilisateur_user_role_linker_id_seq NOCYCLE START WITH 1 INCREMENT BY 1 MINVALUE 0; CREATE TABLE unicaen_utilisateur_user_role_linker ( id NUMBER(*,0) NOT NULL, user_id NUMBER(*,0) NOT NULL, role_id NUMBER(*,0) NOT NULL ); INSERT INTO unicaen_utilisateur_user_role_linker ( id, user_id, role_id ) WITH tmp AS ( SELECT * FROM unicaen_utilisateur_role_linker ) SELECT unicaen_utilisateur_user_role_linker_id_seq.nextval, tmp.user_id, tmp.role_id FROM tmp; DROP TABLE unicaen_utilisateur_role_linker; ALTER TABLE unicaen_utilisateur_user_role_linker ADD CONSTRAINT pk_unicaen_user_role_linker PRIMARY KEY (id); ALTER TABLE unicaen_utilisateur_user_role_linker ADD CONSTRAINT un_unicaen_user_role_linker UNIQUE (user_id, role_id); ALTER TABLE unicaen_utilisateur_user_role_linker ADD CONSTRAINT fk_unicaen_user_role_linker_user FOREIGN KEY (user_id) REFERENCES unicaen_utilisateur_user (id) DEFERRABLE INITIALLY IMMEDIATE; ALTER TABLE unicaen_utilisateur_user_role_linker ADD CONSTRAINT fk_unicaen_user_role_linker_role FOREIGN KEY (role_id) REFERENCES unicaen_utilisateur_role (id) DEFERRABLE INITIALLY IMMEDIATE; CREATE INDEX ix_unicaen_user_role_linker_user ON unicaen_utilisateur_user_role_linker (user_id); CREATE INDEX ix_unicaen_user_role_linker_role ON unicaen_utilisateur_user_role_linker (role_id); -- ----------------------------------------------------- -- TABLE unicaen_privilege_privilege_categorie -- ----------------------------------------------------- Loading sql/migration_perimetre_postgresql.sql +35 −0 Changes for sql/migration_perimetre_postgresql.sql: 35 added lines, 0 removed lines. Original line number Diff line number Diff line -- ----------------------------------------------------- -- Table unicaen_utilisateur_role -- ----------------------------------------------------- ALTER SEQUENCE <seq_name> RENAME TO unicaen_utilisateur_role_id_seq; -- ----------------------------------------------------- -- Table unicaen_utilisateur_user -- ----------------------------------------------------- ALTER SEQUENCE <seq_name> RENAME TO unicaen_utilisateur_user_id_seq; -- ----------------------------------------------------- -- Table unicaen_utilisateur_user_role_linker -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS unicaen_utilisateur_user_role_linker ( id SERIAL PRIMARY KEY, user_id INTEGER NOT NULL, role_id INTEGER NOT NULL ); WITH url(u, r) AS ( SELECT * FROM unicaen_utilisateur_role_linker ) INSERT INTO unicaen_utilisateur_user_role_linker (user_id, role_id) SELECT url.u, url.r FROM url; DROP TABLE unicaen_utilisateur_role_linker; ALTER TABLE unicaen_utilisateur_user_role_linker ADD CONSTRAINT fk_unicaen_user_role_linker_user FOREIGN KEY (user_id) REFERENCES unicaen_utilisateur_user (id) DEFERRABLE INITIALLY IMMEDIATE; ALTER TABLE unicaen_utilisateur_user_role_linker ADD CONSTRAINT fk_unicaen_user_role_linker_role FOREIGN KEY (role_id) REFERENCES unicaen_utilisateur_role (id) DEFERRABLE INITIALLY IMMEDIATE; CREATE UNIQUE INDEX un_unicaen_user_role_linker ON unicaen_utilisateur_user_role_linker(user_id, role_id); CREATE INDEX ix_unicaen_user_role_linker_user ON unicaen_utilisateur_user_role_linker (user_id); CREATE INDEX ix_unicaen_user_role_linker_role ON unicaen_utilisateur_user_role_linker (role_id); -- ----------------------------------------------------- -- Table unicaen_privilege_privilege_categorie -- ----------------------------------------------------- Loading Loading
readme.md +9 −1 Changes for readme.md: 9 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -56,7 +56,15 @@ $ composer require unicaen/privilege Il faut ajouter le module **UnicaenPrivilege** dans le fichier de config `config/application.config.php` ## Migration ## Migration vers les périmètres Il est nécessaire de modifier la base de données et d'utiliser les scripts de migration disponibles : * [PostgreSQL](./sql/migration_perimetre_postgresql.sql) * [Oracle](./sql/migration_perimetre_oracle.sql) > [!WARNING] > Certains noms de séquence sont à compléter et il est nécessaire de bien vérifier les noms des tables avant d'utiliser le script de migration. ## Utilisation du module Loading
sql/migration_perimetre_oracle.sql +46 −0 Changes for sql/migration_perimetre_oracle.sql: 46 added lines, 0 removed lines. Original line number Diff line number Diff line -- ----------------------------------------------------- -- Table unicaen_utilisateur_role -- ----------------------------------------------------- RENAME <seq_name> TO unicaen_utilisateur_role_id_seq; -- ----------------------------------------------------- -- Table unicaen_utilisateur_user -- ----------------------------------------------------- RENAME <seq_name> TO unicaen_utilisateur_user_id_seq; -- ----------------------------------------------------- -- Table unicaen_utilisateur_user_role_linker -- ----------------------------------------------------- CREATE SEQUENCE unicaen_utilisateur_user_role_linker_id_seq NOCYCLE START WITH 1 INCREMENT BY 1 MINVALUE 0; CREATE TABLE unicaen_utilisateur_user_role_linker ( id NUMBER(*,0) NOT NULL, user_id NUMBER(*,0) NOT NULL, role_id NUMBER(*,0) NOT NULL ); INSERT INTO unicaen_utilisateur_user_role_linker ( id, user_id, role_id ) WITH tmp AS ( SELECT * FROM unicaen_utilisateur_role_linker ) SELECT unicaen_utilisateur_user_role_linker_id_seq.nextval, tmp.user_id, tmp.role_id FROM tmp; DROP TABLE unicaen_utilisateur_role_linker; ALTER TABLE unicaen_utilisateur_user_role_linker ADD CONSTRAINT pk_unicaen_user_role_linker PRIMARY KEY (id); ALTER TABLE unicaen_utilisateur_user_role_linker ADD CONSTRAINT un_unicaen_user_role_linker UNIQUE (user_id, role_id); ALTER TABLE unicaen_utilisateur_user_role_linker ADD CONSTRAINT fk_unicaen_user_role_linker_user FOREIGN KEY (user_id) REFERENCES unicaen_utilisateur_user (id) DEFERRABLE INITIALLY IMMEDIATE; ALTER TABLE unicaen_utilisateur_user_role_linker ADD CONSTRAINT fk_unicaen_user_role_linker_role FOREIGN KEY (role_id) REFERENCES unicaen_utilisateur_role (id) DEFERRABLE INITIALLY IMMEDIATE; CREATE INDEX ix_unicaen_user_role_linker_user ON unicaen_utilisateur_user_role_linker (user_id); CREATE INDEX ix_unicaen_user_role_linker_role ON unicaen_utilisateur_user_role_linker (role_id); -- ----------------------------------------------------- -- TABLE unicaen_privilege_privilege_categorie -- ----------------------------------------------------- Loading
sql/migration_perimetre_postgresql.sql +35 −0 Changes for sql/migration_perimetre_postgresql.sql: 35 added lines, 0 removed lines. Original line number Diff line number Diff line -- ----------------------------------------------------- -- Table unicaen_utilisateur_role -- ----------------------------------------------------- ALTER SEQUENCE <seq_name> RENAME TO unicaen_utilisateur_role_id_seq; -- ----------------------------------------------------- -- Table unicaen_utilisateur_user -- ----------------------------------------------------- ALTER SEQUENCE <seq_name> RENAME TO unicaen_utilisateur_user_id_seq; -- ----------------------------------------------------- -- Table unicaen_utilisateur_user_role_linker -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS unicaen_utilisateur_user_role_linker ( id SERIAL PRIMARY KEY, user_id INTEGER NOT NULL, role_id INTEGER NOT NULL ); WITH url(u, r) AS ( SELECT * FROM unicaen_utilisateur_role_linker ) INSERT INTO unicaen_utilisateur_user_role_linker (user_id, role_id) SELECT url.u, url.r FROM url; DROP TABLE unicaen_utilisateur_role_linker; ALTER TABLE unicaen_utilisateur_user_role_linker ADD CONSTRAINT fk_unicaen_user_role_linker_user FOREIGN KEY (user_id) REFERENCES unicaen_utilisateur_user (id) DEFERRABLE INITIALLY IMMEDIATE; ALTER TABLE unicaen_utilisateur_user_role_linker ADD CONSTRAINT fk_unicaen_user_role_linker_role FOREIGN KEY (role_id) REFERENCES unicaen_utilisateur_role (id) DEFERRABLE INITIALLY IMMEDIATE; CREATE UNIQUE INDEX un_unicaen_user_role_linker ON unicaen_utilisateur_user_role_linker(user_id, role_id); CREATE INDEX ix_unicaen_user_role_linker_user ON unicaen_utilisateur_user_role_linker (user_id); CREATE INDEX ix_unicaen_user_role_linker_role ON unicaen_utilisateur_user_role_linker (role_id); -- ----------------------------------------------------- -- Table unicaen_privilege_privilege_categorie -- ----------------------------------------------------- Loading