Commit c803d9ad authored by David Surville's avatar David Surville
Browse files

Réintégration des scripts SQL

parent 9d1259e4
Loading
Loading
Loading
Loading
+111 −0
Changes for sql/migration_perimetre_oracle.sql: 111 added lines, 0 removed lines.
Original line number Diff line number Diff line
-- -----------------------------------------------------
-- TABLE unicaen_privilege_privilege_categorie
-- -----------------------------------------------------
RENAME <seq_name> TO unicaen_privilege_privilege_categorie_id_seq;
RENAME unicaen_privilege_categorie TO unicaen_privilege_privilege_categorie;


-- -----------------------------------------------------
-- TABLE unicaen_privilege_privilege
-- -----------------------------------------------------
RENAME <seq_name> TO unicaen_privilege_privilege_id_seq;


-- -----------------------------------------------------
-- Table unicaen_privilege_perimetre_categorie
-- -----------------------------------------------------
CREATE SEQUENCE unicaen_privilege_perimetre_categorie_id_seq NOCYCLE START WITH 1 INCREMENT BY 1 MINVALUE 0;

CREATE TABLE unicaen_privilege_perimetre_categorie (
  id          NUMBER(*,0)         NOT NULL,
  code        VARCHAR2(150 CHAR)  NOT NULL,
  libelle     VARCHAR2(255 CHAR)  NOT NULL,
  description VARCHAR2(1024 CHAR) NULL,
  ordre       INT                 DEFAULT 0,
  CONSTRAINT pk_unicaen_perimetre_categorie PRIMARY KEY (id),
  CONSTRAINT un_unicaen_perimetre_categorie_code UNIQUE (code)
);


-- -----------------------------------------------------
-- Table unicaen_privilege_perimetre
-- -----------------------------------------------------
CREATE SEQUENCE unicaen_privilege_perimetre_id_seq NOCYCLE START WITH 1 INCREMENT BY 1 MINVALUE 0;

CREATE TABLE unicaen_privilege_perimetre (
  id            NUMBER(*,0)         NOT NULL,
  categorie_id  NUMBER(*,0)         NOT NULL,
  code          VARCHAR2(150 CHAR)  NOT NULL,
  libelle       VARCHAR2(255 CHAR)  NOT NULL,
  description   VARCHAR2(1024 CHAR) NULL,
  ordre         INT                 DEFAULT 0,
  CONSTRAINT pk_unicaen_perimetre PRIMARY KEY (id),
  CONSTRAINT un_unicaen_perimetre_code UNIQUE (categorie_id, code),
  CONSTRAINT FK_UNICAEN_PERIMETRE_CATEGORIE FOREIGN KEY (categorie_id) REFERENCES unicaen_privilege_perimetre_categorie (id) DEFERRABLE INITIALLY IMMEDIATE
);

CREATE INDEX ix_unicaen_perimetre_categorie ON unicaen_privilege_perimetre (categorie_id);


-- -----------------------------------------------------
-- Table unicaen_privilege_perimetre_categorie_role_linker
-- -----------------------------------------------------
CREATE TABLE unicaen_privilege_perimetre_categorie_role_linker (
  perimetre_categorie_id  NUMBER(*, 0) NOT NULL,
  role_id                 NUMBER(*, 0) NOT NULL,
  CONSTRAINT pk_unicaen_perimetre_categorie_role_linker PRIMARY KEY (perimetre_categorie_id, role_id),
  CONSTRAINT fk_unicaen_perimetre_categorie_role_linker_perimetre_categ FOREIGN KEY (perimetre_categorie_id) REFERENCES unicaen_privilege_perimetre_categorie (id) DEFERRABLE INITIALLY IMMEDIATE,
  CONSTRAINT fk_unicaen_perimetre_categorie_role_linker_role FOREIGN KEY (role_id) REFERENCES unicaen_utilisateur_role (id) DEFERRABLE INITIALLY IMMEDIATE
);

CREATE INDEX ix_unicaen_perimetre_categorie_role_linker_perimetre_categ ON unicaen_privilege_perimetre_categorie_role_linker (perimetre_categorie_id);
CREATE INDEX ix_unicaen_perimetre_categorie_role_linker_role ON unicaen_privilege_perimetre_categorie_role_linker (role_id);


-- -----------------------------------------------------
-- Table unicaen_privilege_perimetre_user_role_linker
-- -----------------------------------------------------
CREATE SEQUENCE unicaen_privilege_perimetre_user_role_linker_id_seq NOCYCLE START WITH 1 INCREMENT BY 1 MINVALUE 0;

CREATE TABLE unicaen_privilege_perimetre_user_role_linker (
  id            NUMBER(*,0) NOT NULL,
  perimetre_id  NUMBER(*,0) NOT NULL,
  user_role_id  NUMBER(*,0) NOT NULL,
  CONSTRAINT pk_unicaen_perimetre_user_role_linker PRIMARY KEY (id),
  CONSTRAINT un_unicaen_perimetre_user_role_linker UNIQUE (perimetre_id, user_role_id),
  CONSTRAINT fk_unicaen_perimetre_user_role_linker_perimetre FOREIGN KEY (perimetre_id) REFERENCES unicaen_privilege_perimetre (id) DEFERRABLE INITIALLY IMMEDIATE,
  CONSTRAINT fk_unicaen_perimetre_user_role_linker_user_role FOREIGN KEY (user_role_id) REFERENCES unicaen_utilisateur_user_role_linker (id) DEFERRABLE INITIALLY IMMEDIATE
);

CREATE INDEX ix_unicaen_perimetre_user_role_linker_perimetre ON unicaen_privilege_perimetre_user_role_linker (perimetre_id);
CREATE INDEX ix_unicaen_perimetre_user_role_linker_user_role ON unicaen_privilege_perimetre_user_role_linker (user_role_id);


-- DATA

INSERT INTO utilisateur_privilege_categorie (id, code, libelle, namespace, ordre)
WITH tmp AS (
  SELECT  1, 'perimetre'  c, 'Gestion des périmètres' l, 'UnicaenPrivilege\Provider\Privilege'  n, 4  o FROM dual
)
SELECT
  utilisateur_privilege_categorie_id_seq.nextval,
  tmp.c,
  tmp.l,
  tmp.n,
  tmp.o
FROM tmp;

INSERT INTO utilisateur_privilege (id, categorie_id, code, libelle, ordre)
WITH tmp AS (
  SELECT 1, 1 ca, 'consulter' c, 'Consulter les périmètres' l, 1  o FROM dual UNION
  SELECT 2, 1 ca, 'attribuer' c, 'Attribuer un périmètre'   l, 2  o FROM dual UNION
  SELECT 3, 1 ca, 'editer'    c, 'Éditer un périmètre'      l, 3  o FROM dual UNION
  SELECT 4, 1 ca, 'supprimer' c, 'Supprimer un périmètre'   l, 4  o FROM dual
)
SELECT
  utilisateur_privilege_id_seq.nextval,
  utilisateur_privilege_categorie_id_seq.currval,
  tmp.c,
  tmp.l,
  tmp.o
FROM tmp;
 No newline at end of file
+100 −0
Changes for sql/migration_perimetre_postgresql.sql: 100 added lines, 0 removed lines.
Original line number Diff line number Diff line
-- -----------------------------------------------------
-- Table unicaen_privilege_privilege_categorie
-- -----------------------------------------------------
ALTER SEQUENCE <seq_name> RENAME TO unicaen_privilege_privilege_categorie_id_seq;
ALTER TABLE unicaen_privilege_categorie RENAME TO unicaen_privilege_privilege_categorie;


-- -----------------------------------------------------
-- Table unicaen_privilege_privilege
-- -----------------------------------------------------
ALTER SEQUENCE <seq_name> RENAME TO unicaen_privilege_privilege_id_seq;


-- -----------------------------------------------------
-- Table unicaen_privilege_perimetre_categorie
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS unicaen_privilege_perimetre_categorie (
  id          SERIAL        PRIMARY KEY,
  code        VARCHAR(150)  NOT NULL,
  libelle     VARCHAR(255)  NOT NULL,
  description VARCHAR(1024) NULL,
  ordre       INTEGER       DEFAULT 0
  );

CREATE UNIQUE INDEX un_unicaen_perimetre_categorie_code ON unicaen_privilege_perimetre_categorie (code);


-- -----------------------------------------------------
-- Table unicaen_privilege_perimetre
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS unicaen_privilege_perimetre (
  id            SERIAL        PRIMARY KEY,
  categorie_id  INTEGER       NOT NULL,
  code          VARCHAR(150)  NOT NULL,
  libelle       VARCHAR(255)  NOT NULL,
  description   VARCHAR(1024) NULL,
  ordre         INTEGER       DEFAULT 0,
  CONSTRAINT fk_unicaen_perimetre_categorie FOREIGN KEY (categorie_id) REFERENCES unicaen_privilege_perimetre_categorie (id) DEFERRABLE INITIALLY IMMEDIATE
  );

CREATE UNIQUE INDEX un_unicaen_perimetre_code ON unicaen_privilege_perimetre(categorie_id, code);
CREATE INDEX ix_unicaen_perimetre_categorie ON unicaen_privilege_perimetre(categorie_id);


-- -----------------------------------------------------
-- Table unicaen_privilege_perimetre_categorie_role_linker
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS unicaen_privilege_perimetre_categorie_role_linker (
  perimetre_categorie_id  INTEGER NOT NULL,
  role_id                 INTEGER NOT NULL,
  CONSTRAINT pk_unicaen_perimetre_categorie_role_linker PRIMARY KEY (perimetre_categorie_id, role_id),
  CONSTRAINT fk_unicaen_perimetre_categorie_role_linker_perimetre_categ FOREIGN KEY (perimetre_categorie_id) REFERENCES unicaen_privilege_perimetre_categorie (id) DEFERRABLE INITIALLY IMMEDIATE,
  CONSTRAINT fk_unicaen_perimetre_categorie_role_linker_role FOREIGN KEY (role_id) REFERENCES unicaen_utilisateur_role (id) DEFERRABLE INITIALLY IMMEDIATE
  );

CREATE INDEX ix_unicaen_perimetre_categorie_role_linker_perimetre_categ ON unicaen_privilege_perimetre_categorie_role_linker (perimetre_categorie_id);
CREATE INDEX ix_unicaen_perimetre_categorie_role_linker_role ON unicaen_privilege_perimetre_categorie_role_linker (role_id);


-- -----------------------------------------------------
-- Table unicaen_privilege_perimetre_user_role_linker
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS unicaen_privilege_perimetre_user_role_linker (
  id              SERIAL  PRIMARY KEY,
  perimetre_id    INTEGER NOT NULL,
  user_role_id    INTEGER NOT NULL,
  CONSTRAINT fk_unicaen_perimetre_user_role_linker_perimetre FOREIGN KEY (perimetre_id) REFERENCES unicaen_privilege_perimetre (id) DEFERRABLE INITIALLY IMMEDIATE,
  CONSTRAINT fk_unicaen_perimetre_user_role_linker_user_role FOREIGN KEY (user_role_id) REFERENCES unicaen_utilisateur_user_role_linker (id) DEFERRABLE INITIALLY IMMEDIATE
  );

CREATE UNIQUE INDEX un_unicaen_perimetre_user_role_linker ON unicaen_privilege_perimetre_user_role_linker(perimetre_id, user_role_id);
CREATE INDEX ix_unicaen_perimetre_user_role_linker_perimetre ON unicaen_privilege_perimetre_user_role_linker (perimetre_id);
CREATE INDEX ix_unicaen_perimetre_user_role_linker_user_role ON unicaen_privilege_perimetre_user_role_linker (user_role_id);


-- DATA

INSERT INTO unicaen_privilege_privilege_categorie (code, libelle, namespace, ordre)
VALUES
  ('perimetre',   'Gestion des périmètres',   'UnicaenPrivilege\Provider\Privilege',    4)
ON CONFLICT (code) DO
  UPDATE SET
    libelle=excluded.libelle,
    namespace=excluded.namespace,
    ordre=excluded.ordre;

WITH d(code, lib, ordre) AS (
  SELECT 'consulter', 'Consulter les périmètres', 1 UNION
  SELECT 'attribuer', 'Attribuer un périmètre',   2 UNION
  SELECT 'editer',    'Éditer un périmètre',      3 UNION
  SELECT 'supprimer', 'Supprimer un périmètre',   4
)
INSERT INTO unicaen_privilege_privilege(categorie_id, code, libelle, ordre)
  SELECT cp.id, d.code, d.lib, d.ordre
  FROM d
    JOIN unicaen_privilege_privilege_categorie cp ON cp.CODE = 'perimetre'
  ON CONFLICT (categorie_id, code) DO
    UPDATE SET
      libelle=excluded.libelle,
      ordre=excluded.ordre;
 No newline at end of file

sql/schema_oracle.sql

0 → 100644
+176 −0
Changes for sql/schema_oracle.sql: 176 added lines, 0 removed lines.
Original line number Diff line number Diff line
-- -----------------------------------------------------
-- Table unicaen_privilege_privilege_categorie
-- -----------------------------------------------------
CREATE SEQUENCE unicaen_privilege_privilege_categorie_id_seq NOCYCLE START WITH 1 INCREMENT BY 1 MINVALUE 0;

CREATE TABLE unicaen_privilege_privilege_categorie (
  id        NUMBER(*,0)         NOT NULL,
  code      VARCHAR2(150 CHAR)  NOT NULL,
  libelle   VARCHAR2(200 CHAR)  NOT NULL,
  namespace VARCHAR(255),
  ordre     INT                 DEFAULT 0,
  CONSTRAINT pk_unicaen_privilege_categorie PRIMARY KEY (id),
  CONSTRAINT un_unicaen_privilege_categorie_code UNIQUE (code)
  );


-- -----------------------------------------------------
-- Table unicaen_privilege_privilege
-- -----------------------------------------------------
CREATE SEQUENCE unicaen_privilege_privilege_id_seq NOCYCLE START WITH 1 INCREMENT BY 1 MINVALUE 0;

CREATE TABLE unicaen_privilege_privilege (
  id           NUMBER(*, 0)       NOT NULL,
  categorie_id NUMBER(*, 0)       NOT NULL,
  code         VARCHAR2(150 CHAR) NOT NULL,
  libelle      VARCHAR2(200 CHAR) NOT NULL,
  ordre        INT                DEFAULT 0,
  CONSTRAINT pk_unicaen_privilege PRIMARY KEY (id),
  CONSTRAINT un_unicaen_privilege_code UNIQUE (categorie_id, code),
  CONSTRAINT fk_unicaen_privilege_categorie FOREIGN KEY (categorie_id) REFERENCES unicaen_privilege_privilege_categorie (id) DEFERRABLE INITIALLY IMMEDIATE
);

CREATE INDEX ix_unicaen_privilege_categorie ON unicaen_privilege_privilege (categorie_id);


-- -----------------------------------------------------
-- Table unicaen_privilege_privilege_role_linker
-- -----------------------------------------------------
CREATE TABLE unicaen_privilege_privilege_role_linker (
  privilege_id NUMBER(*, 0) NOT NULL,
  role_id      NUMBER(*, 0) NOT NULL,
  CONSTRAINT pk_unicaen_privilege_role_linker PRIMARY KEY (privilege_id, role_id),
  CONSTRAINT fk_unicaen_privilege_role_linker_privilege FOREIGN KEY (privilege_id) REFERENCES unicaen_privilege_privilege (id) DEFERRABLE INITIALLY IMMEDIATE,
  CONSTRAINT fk_unicaen_privilege_role_linker_role FOREIGN KEY (role_id) REFERENCES unicaen_utilisateur_role (id) DEFERRABLE INITIALLY IMMEDIATE
);

CREATE INDEX ix_unicaen_privilege_role_linker_privilege ON unicaen_privilege_privilege_role_linker (privilege_id);
CREATE INDEX ix_unicaen_privilege_role_linker_role ON unicaen_privilege_privilege_role_linker (role_id);


-- -----------------------------------------------------
-- Table unicaen_privilege_perimetre_categorie
-- -----------------------------------------------------
CREATE SEQUENCE unicaen_privilege_perimetre_categorie_id_seq NOCYCLE START WITH 1 INCREMENT BY 1 MINVALUE 0;

CREATE TABLE unicaen_privilege_perimetre_categorie (
  id          NUMBER(*,0)         NOT NULL,
  code        VARCHAR2(150 CHAR)  NOT NULL,
  libelle     VARCHAR2(255 CHAR)  NOT NULL,
  description VARCHAR2(1024 CHAR) NULL,
  ordre       INT                 DEFAULT 0,
  CONSTRAINT pk_unicaen_perimetre_categorie PRIMARY KEY (id),
  CONSTRAINT un_unicaen_perimetre_categorie_code UNIQUE (code)
);


-- -----------------------------------------------------
-- Table unicaen_privilege_perimetre
-- -----------------------------------------------------
CREATE SEQUENCE unicaen_privilege_perimetre_id_seq NOCYCLE START WITH 1 INCREMENT BY 1 MINVALUE 0;

CREATE TABLE unicaen_privilege_perimetre (
  id            NUMBER(*,0)         NOT NULL,
  categorie_id  NUMBER(*,0)         NOT NULL,
  code          VARCHAR2(150 CHAR)  NOT NULL,
  libelle       VARCHAR2(255 CHAR)  NOT NULL,
  description   VARCHAR2(1024 CHAR) NULL,
  ordre         INT                 DEFAULT 0,
  CONSTRAINT pk_unicaen_perimetre PRIMARY KEY (id),
  CONSTRAINT un_unicaen_perimetre_code UNIQUE (categorie_id, code),
  CONSTRAINT FK_UNICAEN_PERIMETRE_CATEGORIE FOREIGN KEY (categorie_id) REFERENCES unicaen_privilege_perimetre_categorie (id) DEFERRABLE INITIALLY IMMEDIATE
);

CREATE INDEX ix_unicaen_perimetre_categorie ON unicaen_privilege_perimetre (categorie_id);


-- -----------------------------------------------------
-- Table unicaen_privilege_perimetre_categorie_role_linker
-- -----------------------------------------------------
CREATE TABLE unicaen_privilege_perimetre_categorie_role_linker (
  perimetre_categorie_id  NUMBER(*, 0) NOT NULL,
  role_id                 NUMBER(*, 0) NOT NULL,
  CONSTRAINT pk_unicaen_perimetre_categorie_role_linker PRIMARY KEY (perimetre_categorie_id, role_id),
  CONSTRAINT fk_unicaen_perimetre_categorie_role_linker_perimetre_categ FOREIGN KEY (perimetre_categorie_id) REFERENCES unicaen_privilege_perimetre_categorie (id) DEFERRABLE INITIALLY IMMEDIATE,
  CONSTRAINT fk_unicaen_perimetre_categorie_role_linker_role FOREIGN KEY (role_id) REFERENCES unicaen_utilisateur_role (id) DEFERRABLE INITIALLY IMMEDIATE
);

CREATE INDEX ix_unicaen_perimetre_categorie_role_linker_perimetre_categ ON unicaen_privilege_perimetre_categorie_role_linker (perimetre_categorie_id);
CREATE INDEX ix_unicaen_perimetre_categorie_role_linker_role ON unicaen_privilege_perimetre_categorie_role_linker (role_id);


-- -----------------------------------------------------
-- Table unicaen_privilege_perimetre_user_role_linker
-- -----------------------------------------------------
CREATE SEQUENCE unicaen_privilege_perimetre_user_role_linker_id_seq NOCYCLE START WITH 1 INCREMENT BY 1 MINVALUE 0;

CREATE TABLE unicaen_privilege_perimetre_user_role_linker (
  id            NUMBER(*,0) NOT NULL,
  perimetre_id  NUMBER(*,0) NOT NULL,
  user_role_id  NUMBER(*,0) NOT NULL,
  CONSTRAINT pk_unicaen_perimetre_user_role_linker PRIMARY KEY (id),
  CONSTRAINT un_unicaen_perimetre_user_role_linker UNIQUE (perimetre_id, user_role_id),
  CONSTRAINT fk_unicaen_perimetre_user_role_linker_perimetre FOREIGN KEY (perimetre_id) REFERENCES unicaen_privilege_perimetre (id) DEFERRABLE INITIALLY IMMEDIATE,
  CONSTRAINT fk_unicaen_perimetre_user_role_linker_user_role FOREIGN KEY (user_role_id) REFERENCES unicaen_utilisateur_user_role_linker (id) DEFERRABLE INITIALLY IMMEDIATE
);

CREATE INDEX ix_unicaen_perimetre_user_role_linker_perimetre ON unicaen_privilege_perimetre_user_role_linker (perimetre_id);
CREATE INDEX ix_unicaen_perimetre_user_role_linker_user_role ON unicaen_privilege_perimetre_user_role_linker (user_role_id);


-- DATA

INSERT INTO unicaen_privilege_privilege_categorie (id, code, libelle, namespace, ordre)
WITH tmp AS (
  SELECT  1, 'privilege'  c, 'Gestion des privilèges' l, 'UnicaenPrivilege\Provider\Privilege'  n, 3  o FROM dual
)
SELECT
  unicaen_privilege_categorie_id_seq.nextval,
  tmp.c,
  tmp.l,
  tmp.n,
  tmp.o
FROM tmp;

INSERT INTO unicaen_privilege_privilege (id, categorie_id, code, libelle, ordre)
WITH tmp AS (
  SELECT 1, 1 ca, 'privilege_voir'      c, 'Consulter les privilèges' l, 1  o FROM dual UNION
  SELECT 2, 1 ca, 'privilege_ajouter'   c, 'Ajouter un privilège'     l, 2  o FROM dual UNION
  SELECT 3, 1 ca, 'privilege_modifier'  c, 'Modifier un privilège'    l, 3  o FROM dual UNION
  SELECT 4, 1 ca, 'privilege_supprimer' c, 'Supprimer un privilège'   l, 4  o FROM dual UNION
  SELECT 5, 1 ca, 'privilege_affecter'  c, 'Attribuer un privilège'   l, 5  o FROM dual
)
SELECT
  unicaen_privilege_privilege_id_seq.nextval,
  unicaen_privilege_privilege_categorie_id_seq.currval,
  tmp.c,
  tmp.l,
  tmp.o
FROM tmp;

INSERT INTO unicaen_privilege_privilege_categorie (id, code, libelle, namespace, ordre)
WITH tmp AS (
  SELECT  1, 'perimetre'  c, 'Gestion des périmètres' l, 'UnicaenPrivilege\Provider\Privilege'  n, 4  o FROM dual
)
SELECT
  unicaen_privilege_privilege_categorie_id_seq.nextval,
  tmp.c,
  tmp.l,
  tmp.n,
  tmp.o
FROM tmp;

INSERT INTO unicaen_privilege_privilege (id, categorie_id, code, libelle, ordre)
WITH tmp AS (
  SELECT 1, 1 ca, 'consulter' c, 'Consulter les périmètres' l, 1  o FROM dual UNION
  SELECT 2, 1 ca, 'attribuer' c, 'Attribuer un périmètre'   l, 2  o FROM dual UNION
  SELECT 3, 1 ca, 'editer'    c, 'Éditer un périmètre'      l, 3  o FROM dual UNION
  SELECT 4, 1 ca, 'supprimer' c, 'Supprimer un périmètre'   l, 4  o FROM dual
)
SELECT
  unicaen_privilege_privilege_id_seq.nextval,
  unicaen_privilege_privilege_categorie_id_seq.currval,
  tmp.c,
  tmp.l,
  tmp.o
FROM tmp;
 No newline at end of file
+184 −0

File added.

Preview size limit exceeded, changes collapsed.