Commit d9c3a61e authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Inclusion d'une base de données SQLite pour faciliter un peu le démarrage...

Inclusion d'une base de données SQLite pour faciliter un peu le démarrage d'une nouvelle appli. Dispense le débutant de créer une base de données plus lourde simplement pour obtenir la page d'accueil !
parent b8a553e5
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
<?php

return [
    'doctrine'     => [
        'connection' => [
            'orm_default' => [
                'driverClass' => 'Doctrine\DBAL\Driver\PDOSqlite\Driver',
                'params' => array(
                    'path'=> __DIR__.'/../../data/database/example.sqlite',
                )
            ],
        ],
    ],
];
+16 −0
Original line number Diff line number Diff line
À propos de ce répertoire :
=========================

Ce répertoire contient une base de données SQLite d'exemple pour 
que le squelette d'application soit opérationnel plus facilement
du fait que la bibliothèque "UnicaenAuth" requiert obligatoirement 
une base de données pour fonctionner !

Le fichier `example.sqlite` est la base de données elle-même.

Le fichier `./schema_sqlite.sql` contient les instructions SQL qui ont
été utilisées pour créer cette base de données et l'alimenter avec des
données d'exemple. 

**NB:** N'oubliez pas de renommer le fichier `config/autoload/database.local.php.dist` en
`database.local.php` pour activer la config associée.
+19 KiB

File added.

No diff preview for this file type.

+90 −0
Original line number Diff line number Diff line
--
-- Tables requises.
--

CREATE TABLE user (
  id           INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
  username     VARCHAR(255) DEFAULT NULL UNIQUE,
  email        VARCHAR(255) DEFAULT NULL UNIQUE,
  display_name VARCHAR(50)  DEFAULT NULL,
  password     VARCHAR(128)                      NOT NULL,
  state        SMALLINT
);

CREATE TABLE user_role (
  id          INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
  role_id     VARCHAR(64)                       NOT NULL UNIQUE,
  is_default  SMALLINT                          NOT NULL DEFAULT 0,
  parent_id   INTEGER                           NULL     DEFAULT NULL,
  ldap_filter VARCHAR(255)                               DEFAULT NULL
);

CREATE TABLE user_role_linker (
  user_id INTEGER NOT NULL,
  role_id INTEGER NOT NULL,
  FOREIGN KEY (role_id) REFERENCES user_role (id) ON DELETE CASCADE,
  FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE
);

CREATE TABLE categorie_privilege (
  id      INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
  code    VARCHAR(150)                      NOT NULL UNIQUE,
  libelle VARCHAR(200)                      NOT NULL UNIQUE,
  ordre   SMALLINT
);

CREATE TABLE privilege (
  id           INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
  categorie_id INTEGER                           NOT NULL,
  code         VARCHAR(150)                      NOT NULL UNIQUE,
  libelle      VARCHAR(200)                      NOT NULL UNIQUE,
  ordre        SMALLINT,
  FOREIGN KEY (categorie_id) REFERENCES categorie_privilege (id) ON DELETE CASCADE
);

CREATE TABLE role_privilege (
  role_id      INTEGER NOT NULL,
  privilege_id INTEGER NOT NULL,
  PRIMARY KEY (role_id, privilege_id),
  FOREIGN KEY (role_id) REFERENCES user_role (id) ON DELETE CASCADE,
  FOREIGN KEY (privilege_id) REFERENCES privilege (id) ON DELETE CASCADE
);



--
-- Données requises.
--

INSERT INTO categorie_privilege (id, code, libelle, ordre) VALUES
  (1, 'droit', 'Gestion des droits', 1);

INSERT INTO privilege (id, categorie_id, code, libelle, ordre) VALUES
  (1, 1, 'role-visualisation', 'Rôles - Visualisation', 1),
  (2, 1, 'role-edition', 'Rôles - Édition', 2),
  (3, 1, 'privilege-visualisation', 'Privilèges - Visualisation', 3),
  (4, 1, 'privilege-edition', 'Privilèges - Édition', 4);



--
-- Données d'exemple.
--
INSERT INTO user_role (id, role_id, is_default, parent_id) VALUES
  (1, 'Standard', 1, NULL),
  (2, 'Gestionnaire', 0, 1),
  (3, 'Super-gestionnaire', 0, 2),
  (4, 'Administrateur', 0, 3);

INSERT INTO role_privilege (role_id, privilege_id) VALUES
  (4, 1),
  (4, 2),
  (4, 3),
  (4, 4);

INSERT INTO user(id, username, email, display_name, password) VALUES
  (1, 'application', 'ne_pas_repondre@unicaen.fr', 'Application', ''),
  (2, 'gauthierb', 'bertrand.gauthier@unicaen.fr', 'Bertrand GAUTHIER', 'ldap');

INSERT INTO user_role_linker(user_id, role_id) VALUES
  (2, 4);
 No newline at end of file