Commit 4fa5c8fb authored by David Surville's avatar David Surville
Browse files

Mise à jour des scripts de migration pour la v8.0

parent 6f1f12d8
Loading
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@
  * [Les rôles](#les-rôles)
* [Pré-requis](#pré-requis)
* [Installation](#installation)
  * [Activer le module](#activer-le-module)
* [Migration v8.0](#migration-v80)
* [Configuration](#configuration)
* [Utilisation du module](#utilisation-du-module)
<!-- TOC -->
@@ -39,15 +39,19 @@ L'utilisation de ce module nécessite l'installation des modules :
* unicaen/authentification
* unicaen/privilege


## Installation

```bash
$ composer require unicaen/utilisateur
```

Il activer le module **UnicaenUtilisateur** dans le fichier de config `config/application.config.php`
Il faut activer le module **UnicaenUtilisateur** dans le fichier de config `config/application.config.php`

## Migration v8.0

Il est nécessaire de modifier la base de données et d'utiliser les scripts de migration disponibles :
* [PostgreSQL](./sql/migration_v8.0_postgresql.sql)
* [Oracle](./sql/migration_v8.0_oracle.sql)

## Configuration

@@ -57,7 +61,6 @@ Récupérer le fichier de config du module.
$ cp vendor/unicaen/utilisateur/config/unicaen-utilisateur.global.php.dist config/autoload/unicaen-utilisateur.global.php
```


## Utilisation du module

* [Les utilisateurs](doc/utilisateur.md)
+42 −0
Original line number Diff line number Diff line
/*
 Création 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
);

/*
 Import des données de la table unicaen_utilisateur_role_linker dans unicaen_utilisateur_user_role_linker
 */
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;

/*
 Suppression de l'ancienne table unicaen_utilisateur_role_linker
 */
DROP TABLE unicaen_utilisateur_role_linker;

/*
 Création des contraintes et indexes sur la nouvelle table unicaen_utilisateur_user_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);
 No newline at end of file
+31 −0
Original line number Diff line number Diff line
/*
 Création 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
);

/*
 Import des données de la table unicaen_utilisateur_role_linker dans unicaen_utilisateur_user_role_linker
 */
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;

/*
 Suppression de l'ancienne table unicaen_utilisateur_role_linker
 */
DROP TABLE unicaen_utilisateur_role_linker;

/*
 Création des contraintes et indexes sur la nouvelle table unicaen_utilisateur_user_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);
 No newline at end of file