From e717688b89bb004edf54cbbba55ae4145ca4c7ab Mon Sep 17 00:00:00 2001 From: Etienne Pallier Date: Wed, 12 Jun 2019 17:55:38 +0200 Subject: [PATCH] cleanup installation process (installation.sh) --- .gitignore | 3 ++- database/Insert_FakeUsers.sql | 33 --------------------------------- database/Insert_TablesFunct.sql | 186 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ database/Insert_Users.sql | 12 ------------ database/build_update.sql | 8 -------- database/create_database_test.sql | 8 ++++++++ database/create_tables.sql | 867 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ database/insert_fake_users.sql | 33 +++++++++++++++++++++++++++++++++ database/insert_superadmin_user.sql | 12 ++++++++++++ database/insert_tables_default_data_IRAP.sql | 186 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ database/labinvent_add_base_testsql | 8 -------- database/labinvent_last_version.sql | 867 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- install/installation.sh | 16 ++++++++++++---- install/update.sh | 26 +++++++++++++++++++------- src/Model/Table/LdapConnectionsTable.php | 7 +++++++ 15 files changed, 1146 insertions(+), 1126 deletions(-) delete mode 100755 database/Insert_FakeUsers.sql delete mode 100755 database/Insert_TablesFunct.sql delete mode 100755 database/Insert_Users.sql delete mode 100644 database/build_update.sql create mode 100755 database/create_database_test.sql create mode 100644 database/create_tables.sql create mode 100755 database/insert_fake_users.sql create mode 100755 database/insert_superadmin_user.sql create mode 100755 database/insert_tables_default_data_IRAP.sql delete mode 100755 database/labinvent_add_base_testsql delete mode 100644 database/labinvent_last_version.sql diff --git a/.gitignore b/.gitignore index ab00f1c..4ca006b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ # see gitignore syntax: https://git-scm.com/docs/gitignore -/vendor*/* +/vendor/ +/vendor*/ /config/app.php /tmp/* /logs/* diff --git a/database/Insert_FakeUsers.sql b/database/Insert_FakeUsers.sql deleted file mode 100755 index 3409b65..0000000 --- a/database/Insert_FakeUsers.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Insertion des users. - --- Ajout de FAUX users de TEST (hors LDAP, fonctionne avec un "fake" ldap) -use mydb; - --- ATTENTION: --- - SANS annuaire LDAP, vous devez mettre ici TOUS les users (les privilegies ainsi que les simples users) - --- NB: C'est la variable USE_LDAP de votre fichier cakephp/app/Config/config.php --- qui determine l'utilisation ou non d'un LDAP : --- - USE_LDAP = TRUE ==> on utilise un LDAP --- - USE_LDAP = FALSE ==> pas de LDAP - -/* DEV ONLY - AVEC GROUPES METIERS -INSERT INTO users (nom, username, password, email, role, groupes_metier_id) VALUES - ('SuperAdmin', 'superadmin', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', 'superadmin@irap.omp.eu', 'Super Administrateur', 1), - ('AdminPlus', 'adminplus', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', 'adminplus@irap.omp.eu', 'Administration Plus', 5), - ('Admin', 'admin', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', 'admin@irap.omp.eu', 'Administration', 5), - ('Responsable', 'responsable', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', 'resp@irap.omp.eu', 'Responsable', 2), - ('Utilisateur', 'utilisateur', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', 'utilisateur@irap.omp.eu', 'Utilisateur', 7); -*/ - --- Mot de passe par défaut : login - --- SANS GROUPES METIERS --- password = "login" (hashed) for all users -INSERT INTO users (nom, username, password, email, role) VALUES - ('SuperAdmin .', 'superadmin', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', 'superadmin@irap.omp.eu', 'Super Administrateur'), - ('AdminPlus .', 'adminplus', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', 'adminplus@irap.omp.eu', 'Administration Plus'), - ('Admin .', 'admin', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', 'admin@irap.omp.eu', 'Administration'), - ('Responsable .', 'responsable', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', 'resp@irap.omp.eu', 'Responsable'), - ('Utilisateur .', 'utilisateur', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', 'utilisateur@irap.omp.eu', 'Utilisateur'); - diff --git a/database/Insert_TablesFunct.sql b/database/Insert_TablesFunct.sql deleted file mode 100755 index ec5652b..0000000 --- a/database/Insert_TablesFunct.sql +++ /dev/null @@ -1,186 +0,0 @@ --- --- Insertion des contenus pour les tables de specifications. --- --- ------------------------------------------- --- --- Contenu de la table 'sur_categories' --- - --- ATTENTION : remplacer le nom "mydb" par le nom de votre base de donnée -use mydb; - -INSERT INTO sur_categories (id, nom) VALUES (1, 'Electronique'), -(2, 'Informatique'), -(3, 'Instrumentation'), -(4, 'Logistique'), -(5, 'Mecanique'), -(6, 'Optique'); - --- --------------------------------------- --- --- Contenu de la table 'categories' --- - -INSERT INTO `categories` (`id`, `nom`, `sur_categorie_id`) VALUES -(1, 'Alimentation', 1), -(2, 'Amplificateur', 1), -(3, 'Analyseur', 1), -(4, 'Carte', 1), -(5, 'Diode', 1), -(6, 'Codeur', 1), -(7, 'Convertisseur', 1), -(8, 'Generateur', 1), -(9, 'Logiciel Electronique', 1), -(10, 'Z-Materiel Electronique', 1), -(11, 'Mesure Electronique', 1), -(12, 'Multimetre', 1), -(13, 'Oscilloscope', 1), -(14, 'Programmateur', 1), -(15, 'Recepteur', 1), -(16, 'Baie', 2), -(17, 'Disque', 2), -(18, 'Imprimante', 2), -(19, 'Logiciel Informatique', 2), -(20, 'Z-Materiel Informatique', 2), -(21, 'Moniteur', 2), -(22, 'Onduleur', 2), -(23, 'Portable', 2), -(24, 'Reseau', 2), -(25, 'Serveur', 2), -(26, 'Station Travail', 2), -(27, 'Binoculaire', 3), -(28, 'Calibrateur', 3), -(29, 'Carte PC', 3), -(30, 'Chimie', 3), -(31, 'Compresseur', 3), -(32, 'Cryothermostat', 3), -(33, 'Cuve', 3), -(34, 'Deplacement Horizontal', 3), -(35, 'Deplacement Rotation', 3), -(36, 'Detendeur', 3), -(37, 'Etuve', 3), -(38, 'Filtre', 3), -(39, 'Four', 3), -(40, 'Jauge', 3), -(41, 'Logiciel Instrumentation', 3), -(42, 'Manometre', 3), -(43, 'Z-Materiel Chimie', 3), -(44, 'Z-materiel Instrumentation', 3), -(45, 'Mesure Instrumentale', 3), -(46, 'Meteo', 3), -(47, 'PC Acquisition', 3), -(48, 'Pompe a vide', 3), -(49, 'Sonde', 3), -(50, 'Spectrometre', 3), -(51, 'Station sismologique', 3), -(52, 'Climatisation', 4), -(53, 'Mobilier', 4), -(54, 'Z-Materiel Logistique', 4), -(55, 'Vehicule', 4), -(56, 'Video-Projecteur', 4), -(57, 'Z-Materiel Mecanique', 5), -(58, 'Adc', 6), -(59, 'Auto Colimateur', 6), -(60, 'Analyseur Optique', 6), -(61, 'Camera', 6), -(62, 'Laser', 6), -(63, 'Lentille', 6), -(64, 'Logiciel Optique', 6), -(65, 'Z-Materiel Optique', 6), -(66, 'Miroir', 6), -(67, 'Monochromateur', 6), -(68, 'Optometre', 6), -(69, 'DETECTEUR', 3), -(70, 'MATERIEL SISMO', 3), -(71, 'FILTRE OPTIQUE', 6), -(72, 'OSCILLATEUR', 3), -(73, 'TERMINAL X', 2); - --- ----------------------------------------------- --- --- Contenu de la table 'sous_categories' --- - -INSERT INTO `sous_categories` (`id`, `nom`, `categorie_id`) VALUES -(1, 'Appareil', 1), -(2, 'Batterie', 1), -(3, 'Chassis', 1), -(4, 'Haute tension', 1), -(5, 'Puissance', 1), -(6, 'Tension', 1), -(7, 'Spectre', 3), -(8, 'Logique', 3), -(9, 'Acquisition', 4), -(10, 'FPGA', 4), -(11, 'Arbitraire', 8), -(12, 'ASIC', 9), -(13, 'Etalon', 11), -(14, 'PicoAmperemetre', 11), -(15, 'Photometre', 11), -(16, 'Pont', 11), -(17, 'Couleur', 18), -(18, 'Laser Couleur', 18), -(19, 'Laser Noir et Blanc', 18), -(20, 'Traitement Image', 19), -(21, 'Mac', 21), -(22, 'Mac', 23), -(23, 'PC', 23), -(24, 'Commutateur', 24), -(25, 'Mac', 26), -(26, 'PC', 26), -(27, 'Acquisition', 29), -(28, 'Generateur', 29), -(29, 'Vide', 44), -(30, 'Ions', 45), -(31, 'Particules', 45), -(32, 'Oxygene', 45), -(33, 'Temps', 45), -(34, 'Bureau', 52), -(35, 'Visio', 54), -(36, 'Couple', 57), -(37, 'Graphique', 60), -(38, 'Laser', 60), -(39, 'CCD', 61), -(40, 'CMOS', 61), -(41, 'Infra-Rouge', 61), -(42, 'Laser', 65); - --- ----------------------------------------- --- --- Contenu de la table 'groupes_metiers' --- - -INSERT INTO groupes_metiers (id, nom, description) VALUES -(1, 'N/A', NULL), -(2, 'GEDI', 'Electronique'), -(3, 'GT2I', 'Informatique'), -(4, 'GI', 'Instrumentation'), -(5, 'GACL', 'Administration, gestion, logistique'), -(6, 'GGPAQ', 'Gestion projet, Qualité'), -(7, 'GM', 'Mécanique'), -(8,'SI','Service Informatique'), -(9, 'RS', 'Réseau Sismique'); - --- ----------------------------------------- --- --- Contenu de la table 'groupes_thematiques' --- - -INSERT INTO groupes_thematiques (id, nom, description) VALUES -(1, 'N/A', NULL), -(2, 'PSE', NULL), -(3, 'MICMAC', NULL), -(4, 'GAHEC', NULL), -(5, 'SISU', NULL), -(6, 'SG', NULL), -(7, 'GPPS', NULL); - --- ------------------------------------------- --- --- Contenu de la table 'utilisateurs' --- - -# contenu deplace dans le fichier requete Insert_Users.sql - - --- \ No newline at end of file diff --git a/database/Insert_Users.sql b/database/Insert_Users.sql deleted file mode 100755 index 213c625..0000000 --- a/database/Insert_Users.sql +++ /dev/null @@ -1,12 +0,0 @@ --- Insertion des users. - --- Ajout du super administrateur de l'application --- Nom, Prenom, userlogin, et __@__ (email) seront remplaces par les donnees saisies lors de l'installation - --- Mot de passe par défaut : login - -use mydb; - -INSERT INTO users (nom, username, password, email, role) VALUES -('Nom Prenom', 'userlogin', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', '__@__', 'Super Administrateur'); - diff --git a/database/build_update.sql b/database/build_update.sql deleted file mode 100644 index 41223bf..0000000 --- a/database/build_update.sql +++ /dev/null @@ -1,8 +0,0 @@ -CREATE SCHEMA IF NOT EXISTS test_labinvent2 DEFAULT CHARACTER SET latin1; - -GRANT USAGE ON *.* TO 'superadmin'; -DROP USER 'superadmin'; - -grant all on test_labinvent2.* to 'superadmin'@'localhost' identified by 'superadmin'; - -flush privileges; diff --git a/database/create_database_test.sql b/database/create_database_test.sql new file mode 100755 index 0000000..41223bf --- /dev/null +++ b/database/create_database_test.sql @@ -0,0 +1,8 @@ +CREATE SCHEMA IF NOT EXISTS test_labinvent2 DEFAULT CHARACTER SET latin1; + +GRANT USAGE ON *.* TO 'superadmin'; +DROP USER 'superadmin'; + +grant all on test_labinvent2.* to 'superadmin'@'localhost' identified by 'superadmin'; + +flush privileges; diff --git a/database/create_tables.sql b/database/create_tables.sql new file mode 100644 index 0000000..1f6aa4f --- /dev/null +++ b/database/create_tables.sql @@ -0,0 +1,867 @@ +-- phpMyAdmin SQL Dump +-- version 4.7.8 +-- https://www.phpmyadmin.net/ +-- +-- Hôte : 127.0.0.1 +-- Généré le : ven. 11 jan. 2019 à 18:07 +-- Version du serveur : 5.7.21 +-- Version de PHP : 5.6.33 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +SET AUTOCOMMIT = 0; +START TRANSACTION; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; + +-- +-- Base de données : `mydb` +-- + +CREATE SCHEMA IF NOT EXISTS mydb DEFAULT CHARACTER SET latin1; +CREATE SCHEMA IF NOT EXISTS test_labinvent2 DEFAULT CHARACTER SET latin1; + + +-- Creation du proprietaire de la BD +-- La ligne suivante serait la meilleure, mais ne suffit pas, impossible de se connecter a la BD avec ceci : +-- grant all on mydb.* to 'bddUserName' identified by 'bddUserPass'; +-- ni avec ceci : +-- grant all on mydb.* to 'bddUserName'@'%' identified by 'bddUserPass'; +-- Il faut donc faire ceci (ajouter localhost) et on pourra alors se connecter a la BD !!! : + +-- Il faut supprimer l'utilisateur avant de l'ajouter. +GRANT USAGE ON *.* TO 'mydb_user'; +DROP USER 'mydb_user'; + +GRANT USAGE ON *.* TO 'superadmin'; +DROP USER 'superadmin'; + +-- grant all on mydb.* to 'mydb'@'localhost' identified by 'mydb1'; +grant all on mydb.* to 'mydb_user'@'localhost' identified by 'mydb_pass'; + +-- grant all on test_labinvent2.* to 'superadmin'@'localhost' identified by 'superadmin'; +grant all on test_labinvent2.* to 'mydb_user'@'localhost' identified by 'mydb_pass'; + +-- Mais, ca serait plus prudent de limiter les droits (au lieu de "grant all"): +-- grant select,insert,update,delete on mydb.* to ... +flush privileges; + + + +USE `mydb`; + + +-- -------------------------------------------------------- + +-- +-- Structure de la table `categories` +-- + +CREATE TABLE `categories` ( + `id` int(11) NOT NULL, + `nom` varchar(45) NOT NULL COMMENT 'obligatoire (et unique)', + `sur_categorie_id` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `configurations` +-- + +CREATE TABLE `configurations` ( + `id` int(11) NOT NULL, + `nom` varchar(45) NOT NULL COMMENT 'obligatoire (et unique)', + `mode_install` tinyint(1) DEFAULT '1', + `mode_debug` tinyint(1) DEFAULT '0', + `labNameShort` varchar(10) DEFAULT NULL, + `labPresent` varchar(10) DEFAULT NULL, + `labUmr` varchar(30) DEFAULT NULL, + `hasPrinter` tinyint(1) DEFAULT '0', + `nom_groupe_thematique` varchar(50) DEFAULT 'Groupe thematique', + `nom_groupe_metier` varchar(50) DEFAULT 'Groupe metier', + `envoi_mail` tinyint(1) NOT NULL DEFAULT '0', + `envoi_mail_guests` tinyint(1) NOT NULL DEFAULT '0', + `emailGuest1` varchar(45) DEFAULT NULL, + `emailGuest2` varchar(45) DEFAULT NULL, + `emailGuest3` varchar(45) DEFAULT NULL, + `emailGuest4` varchar(45) DEFAULT NULL, + `emailGuest5` varchar(45) DEFAULT NULL, + `test` tinyint(1) DEFAULT '0', + `prix_inventaire_administratif` int(10) DEFAULT '800', + `emailGuest6` varchar(45) DEFAULT NULL, + `emailGuest7` varchar(45) DEFAULT NULL, + `emailGuest8` varchar(45) DEFAULT NULL, + `emailGuest9` varchar(45) DEFAULT NULL, + `emailGuest10` varchar(45) DEFAULT NULL, + `sender_mail` varchar(500) DEFAULT 'labinvent@irap.omp.eu', + `labName` varchar(200) DEFAULT 'NOM COMPLET', + `date_commande_facultative` tinyint(1) DEFAULT '0', + `numero_labo_sans_annee` tinyint(1) DEFAULT '0', + `taille_max_doc` int(15) DEFAULT '8000000', + `metrologie` tinyint(1) DEFAULT '0', + `aff_par_defaut` smallint(6) NOT NULL DEFAULT '20', + `procedure_sur_accueil` tinyint(1) NOT NULL DEFAULT '1', + `ldap_used` tinyint(1) NOT NULL DEFAULT '0', + `ldap_authentified` tinyint(1) NOT NULL DEFAULT '1', + `ldap_bindDn` varchar(250) DEFAULT NULL, + `ldap_bindPass` varchar(50) DEFAULT NULL, + `ldap_host` varchar(250) DEFAULT NULL, + `ldap_port` varchar(10) DEFAULT NULL, + `ldap_authenticationType` varchar(30) DEFAULT NULL, + `ldap_baseDn` varchar(300) DEFAULT NULL, + `ldap_filter` varchar(300) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `documents` +-- + +CREATE TABLE `documents` ( + `id` int(11) NOT NULL, + `type_doc` varchar(20) DEFAULT NULL, + `materiel_id` int(11) DEFAULT NULL, + `suivi_id` int(11) DEFAULT NULL, + `type_document_id` int(11) DEFAULT NULL, + `description` text, + `nom` varchar(100) DEFAULT NULL, + `photo` tinyint(1) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `emprunts` +-- + +CREATE TABLE `emprunts` ( + `id` int(11) NOT NULL, + `materiel_id` int(11) NOT NULL, + `date_emprunt` date DEFAULT NULL, + `date_retour_emprunt` date DEFAULT NULL, + `emprunt_interne` tinyint(1) DEFAULT NULL, + `laboratoire` varchar(45) DEFAULT NULL, + `e_lieu_detail` varchar(45) DEFAULT NULL, + `nom_emprunteur` varchar(45) DEFAULT NULL, + `email_emprunteur` varchar(45) DEFAULT NULL, + `tel` varchar(20) DEFAULT NULL, + `commentaire` varchar(200) DEFAULT NULL, + `nom_createur` varchar(45) DEFAULT NULL COMMENT 'nom du createur de la fiche', + `nom_modificateur` varchar(45) DEFAULT NULL COMMENT 'nom du modificateur de la fiche', + `created` datetime DEFAULT NULL COMMENT 'date et heure de creation de la fiche', + `modified` datetime DEFAULT NULL COMMENT 'date et heure de modif de la fiche', + `site_id` int(11) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `fichemetrologiques` +-- + +CREATE TABLE `fichemetrologiques` ( + `id` int(11) NOT NULL, + `suivi_id` int(11) NOT NULL, + `mesurande` double DEFAULT NULL, + `moyenne` double DEFAULT NULL, + `ecarttype` double DEFAULT NULL, + `correction` double DEFAULT NULL, + `ua` double DEFAULT NULL, + `ub` double DEFAULT NULL, + `uc` double DEFAULT NULL, + `uf` double DEFAULT NULL, + `u` double DEFAULT NULL, + `incertitude` double DEFAULT NULL, + `conditionEnv` double DEFAULT NULL, + `resolution` varchar(45) DEFAULT NULL, + `etatmateriel` varchar(45) DEFAULT NULL, + `etatmetrologique` varchar(45) DEFAULT NULL, + `emtpersonnel` double DEFAULT NULL, + `nbMesure` int(11) DEFAULT NULL, + `conformeEMTstandart` varchar(100) DEFAULT NULL, + `conformeEMTperso` varchar(100) DEFAULT NULL, + `resultatfinal` varchar(100) DEFAULT NULL, + `observation` varchar(200) DEFAULT NULL, + `datefiche` date DEFAULT NULL, + `retard` varchar(45) DEFAULT 'RAS', + `justesse` double DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `formules` +-- + +CREATE TABLE `formules` ( + `id` int(11) NOT NULL, + `nommesure` varchar(100) DEFAULT NULL, + `symbole` varchar(45) DEFAULT 'F', + `unite` varchar(45) DEFAULT NULL, + `nbVariable` int(11) DEFAULT NULL, + `formule` varchar(200) DEFAULT 'F' +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `fournisseurs` +-- + +CREATE TABLE `fournisseurs` ( + `id` int(11) NOT NULL, + `nom` varchar(45) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `groupes_metiers` +-- + +CREATE TABLE `groupes_metiers` ( + `id` int(11) NOT NULL, + `nom` varchar(45) DEFAULT NULL, + `description` varchar(100) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `groupes_thematiques` +-- + +CREATE TABLE `groupes_thematiques` ( + `id` int(11) NOT NULL, + `nom` varchar(45) DEFAULT NULL, + `description` varchar(100) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `materiels` +-- + +CREATE TABLE `materiels` ( + `id` int(11) NOT NULL, + `designation` varchar(50) DEFAULT NULL, + `sur_categorie_id` int(11) DEFAULT NULL, + `categorie_id` int(11) DEFAULT NULL, + `sous_categorie_id` int(11) DEFAULT NULL, + `numero_laboratoire` varchar(20) DEFAULT NULL, + `description` text, + `materiel_administratif` tinyint(1) DEFAULT NULL, + `materiel_technique` tinyint(1) DEFAULT NULL, + `status` varchar(15) DEFAULT 'CREATED', + `date_acquisition` date DEFAULT NULL, + `prix_ht` float UNSIGNED DEFAULT NULL, + `eotp` varchar(45) DEFAULT NULL, + `numero_commande` varchar(45) DEFAULT NULL, + `code_comptable` varchar(45) DEFAULT NULL, + `numero_serie` varchar(45) DEFAULT NULL, + `groupes_thematique_id` int(11) DEFAULT NULL, + `groupes_metier_id` int(11) DEFAULT NULL, + `numero_inventaire_organisme` varchar(45) DEFAULT NULL, + `numero_inventaire_old` varchar(45) DEFAULT NULL COMMENT 'Ancien numero inventaire', + `date_archivage` date DEFAULT NULL, + `etiquette` tinyint(1) DEFAULT '0' COMMENT 'etiquette sur materiel oui ou non', + `lieu_detail` varchar(45) DEFAULT NULL, + `nom_responsable` varchar(45) DEFAULT NULL, + `email_responsable` varchar(45) DEFAULT NULL, + `gestionnaire_id` int(11) DEFAULT NULL, + `nom_createur` varchar(45) DEFAULT NULL COMMENT 'nom du createur de la fiche', + `nom_modificateur` varchar(45) DEFAULT NULL COMMENT 'nom du modificateur de la fiche', + `created` datetime DEFAULT NULL COMMENT 'date et heure de creation de la fiche', + `modified` datetime DEFAULT NULL COMMENT 'date et heure de modif de la fiche', + `date_reception` date DEFAULT NULL, + `organisme_id` int(11) DEFAULT NULL, + `site_id` int(11) DEFAULT '2', + `date_fin_garantie` date DEFAULT NULL, + `duree_garantie` int(10) DEFAULT NULL, + `unite_duree_garantie` varchar(30) DEFAULT NULL, + `hors_service` tinyint(1) DEFAULT NULL, + `photo_id` int(11) DEFAULT NULL, + `metrologie` tinyint(1) DEFAULT '0', + `fournisseur_id` int(11) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `mesures` +-- + +CREATE TABLE `mesures` ( + `id` int(11) NOT NULL, + `fichemetrologique_id` int(11) NOT NULL, + `valeur` double DEFAULT NULL, + `erreur` double DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `organismes` +-- + +CREATE TABLE `organismes` ( + `id` int(11) NOT NULL, + `nom` varchar(50) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `phinxlog` +-- + +CREATE TABLE `phinxlog` ( + `version` bigint(20) NOT NULL, + `migration_name` varchar(100) DEFAULT NULL, + `start_time` timestamp NULL DEFAULT NULL, + `end_time` timestamp NULL DEFAULT NULL, + `breakpoint` tinyint(1) NOT NULL DEFAULT '0' +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `sites` +-- + +CREATE TABLE `sites` ( + `id` int(11) NOT NULL, + `nom` varchar(50) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `sous_categories` +-- + +CREATE TABLE `sous_categories` ( + `id` int(11) NOT NULL, + `nom` varchar(45) NOT NULL, + `categorie_id` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `suivis` +-- + +CREATE TABLE `suivis` ( + `id` int(11) NOT NULL, + `materiel_id` int(11) NOT NULL, + `date_controle` date DEFAULT NULL, + `date_prochain_controle` date DEFAULT NULL, + `organisme` varchar(50) DEFAULT NULL, + `frequence` int(11) DEFAULT NULL, + `commentaire` varchar(100) DEFAULT NULL, + `nom_createur` varchar(45) DEFAULT NULL COMMENT 'nom du createur de la fiche', + `nom_modificateur` varchar(45) DEFAULT NULL COMMENT 'nom du modificateur de la fiche', + `created` datetime DEFAULT NULL COMMENT 'date et heure de creation de la fiche', + `modified` datetime DEFAULT NULL COMMENT 'date et heure de modif de la fiche', + `unite_id` int(11) DEFAULT NULL, + `plage_debut` double DEFAULT NULL, + `plage_fin` double DEFAULT NULL, + `resolution` double DEFAULT NULL, + `tolerance` double DEFAULT NULL, + `sensibilite` double DEFAULT NULL, + `justesse` double DEFAULT NULL, + `fidelite` double DEFAULT NULL, + `typemesure` varchar(45) DEFAULT 'Direct', + `emtstandart` double DEFAULT NULL, + `symbole` varchar(45) DEFAULT NULL, + `nommesure` varchar(45) DEFAULT NULL, + `valeurRef` double DEFAULT NULL, + `intitule` varchar(100) DEFAULT NULL, + `conforme` varchar(100) DEFAULT NULL, + `formule_id` int(11) DEFAULT NULL, + `type_suivi_id` int(11) DEFAULT NULL, + `type_frequence` varchar(30) DEFAULT NULL, + `panne_resolu` tinyint(1) DEFAULT '1', + `groupes_metier_id` int(11) DEFAULT NULL, + `groupes_thematique_id` int(11) DEFAULT NULL, + `statut` varchar(30) DEFAULT 'En cours' +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `sur_categories` +-- + +CREATE TABLE `sur_categories` ( + `id` int(11) NOT NULL, + `nom` varchar(45) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `type_documents` +-- + +CREATE TABLE `type_documents` ( + `id` int(11) NOT NULL, + `nom` varchar(100) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `type_suivis` +-- + +CREATE TABLE `type_suivis` ( + `id` int(11) NOT NULL, + `nom` varchar(50) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `unites` +-- + +CREATE TABLE `unites` ( + `id` int(11) NOT NULL, + `nom` varchar(45) DEFAULT NULL, + `symbole` varchar(45) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `users` +-- + +CREATE TABLE `users` ( + `id` int(11) NOT NULL, + `nom` varchar(45) DEFAULT NULL, + `username` varchar(45) DEFAULT NULL, + `email` varchar(45) DEFAULT NULL, + `role` varchar(45) DEFAULT NULL, + `groupes_metier_id` int(11) DEFAULT NULL, + `password` varchar(255) DEFAULT '$2y$10$nBQMNstgN.sgad1ZANznY.pbJI.ZG/.Q5qX4gC8SXCFQnDIZC8rcW', + `groupe_thematique_id` int(11) DEFAULT NULL, + `sur_categorie_id` int(11) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- +-- Structure de la table `variables` +-- + +CREATE TABLE `variables` ( + `id` int(11) NOT NULL, + `formule_id` int(11) DEFAULT NULL, + `symbolegrandeurphysique` varchar(45) DEFAULT NULL, + `symboleunitemesure` varchar(45) DEFAULT NULL, + `nomgrandeurphysique` varchar(45) DEFAULT NULL, + `domainedef` varchar(45) DEFAULT NULL, + `derivepartielle` varchar(100) DEFAULT 'F' +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- +-- Index pour les tables déchargées +-- + +-- +-- Index pour la table `categories` +-- +ALTER TABLE `categories` + ADD PRIMARY KEY (`id`), + ADD UNIQUE KEY `nom_UNIQUE` (`nom`), + ADD KEY `fk_sur_categorie_id` (`sur_categorie_id`); + +-- +-- Index pour la table `configurations` +-- +ALTER TABLE `configurations` + ADD PRIMARY KEY (`id`), + ADD UNIQUE KEY `nom_UNIQUE` (`nom`); + +-- +-- Index pour la table `documents` +-- +ALTER TABLE `documents` + ADD PRIMARY KEY (`id`), + ADD KEY `fk_documents_materiel_id` (`materiel_id`), + ADD KEY `fk_documents_suivi_id` (`suivi_id`), + ADD KEY `fk_documents_type_documents_id` (`type_document_id`); + +-- +-- Index pour la table `emprunts` +-- +ALTER TABLE `emprunts` + ADD PRIMARY KEY (`id`), + ADD KEY `fk_technical_materials_internal_loans_copy1_admi_materials1` (`materiel_id`), + ADD KEY `fk_emprunts_site_id` (`site_id`); + +-- +-- Index pour la table `fichemetrologiques` +-- +ALTER TABLE `fichemetrologiques` + ADD PRIMARY KEY (`id`), + ADD KEY `fk_fichemetrologique_suivi_id_idx` (`suivi_id`); + +-- +-- Index pour la table `formules` +-- +ALTER TABLE `formules` + ADD PRIMARY KEY (`id`); + +-- +-- Index pour la table `fournisseurs` +-- +ALTER TABLE `fournisseurs` + ADD PRIMARY KEY (`id`), + ADD UNIQUE KEY `nom` (`nom`); + +-- +-- Index pour la table `groupes_metiers` +-- +ALTER TABLE `groupes_metiers` + ADD PRIMARY KEY (`id`); + +-- +-- Index pour la table `groupes_thematiques` +-- +ALTER TABLE `groupes_thematiques` + ADD PRIMARY KEY (`id`); + +-- +-- Index pour la table `materiels` +-- +ALTER TABLE `materiels` + ADD PRIMARY KEY (`id`), + ADD UNIQUE KEY `numero_irap` (`numero_laboratoire`), + ADD KEY `fk_administrative_materials_sub_categories1` (`sous_categorie_id`), + ADD KEY `fk_materials_thematic_group1` (`groupes_thematique_id`), + ADD KEY `fk_materials_work_group1` (`groupes_metier_id`), + ADD KEY `fk_materiels_categories1` (`categorie_id`), + ADD KEY `fk_materiels_sur_categorie_id` (`sur_categorie_id`), + ADD KEY `fk_materiels_organisme_id` (`organisme_id`), + ADD KEY `fk_materiels_site_id` (`site_id`), + ADD KEY `fk_materiels_fournisseurs_id_idx` (`fournisseur_id`); + +-- +-- Index pour la table `mesures` +-- +ALTER TABLE `mesures` + ADD PRIMARY KEY (`id`), + ADD KEY `fk_mesures_fichemetrologique_id_idx` (`fichemetrologique_id`); + +-- +-- Index pour la table `organismes` +-- +ALTER TABLE `organismes` + ADD PRIMARY KEY (`id`); + +-- +-- Index pour la table `phinxlog` +-- +ALTER TABLE `phinxlog` + ADD PRIMARY KEY (`version`); + +-- +-- Index pour la table `sites` +-- +ALTER TABLE `sites` + ADD PRIMARY KEY (`id`); + +-- +-- Index pour la table `sous_categories` +-- +ALTER TABLE `sous_categories` + ADD PRIMARY KEY (`id`), + ADD KEY `category_id` (`categorie_id`); + +-- +-- Index pour la table `suivis` +-- +ALTER TABLE `suivis` + ADD PRIMARY KEY (`id`), + ADD KEY `fk_admi_material_histories_admi_materials1` (`materiel_id`), + ADD KEY `fk_suivis_type_suivi_id` (`type_suivi_id`), + ADD KEY `fk_suivis_groupe_thematique` (`groupes_thematique_id`), + ADD KEY `fk_suivis_groupe_metier` (`groupes_metier_id`), + ADD KEY `fk_suivis_unite_id_idx` (`unite_id`), + ADD KEY `fk_suivis_formule_id_idx` (`formule_id`); + +-- +-- Index pour la table `sur_categories` +-- +ALTER TABLE `sur_categories` + ADD PRIMARY KEY (`id`), + ADD UNIQUE KEY `nom_UNIQUE` (`nom`); + +-- +-- Index pour la table `type_documents` +-- +ALTER TABLE `type_documents` + ADD PRIMARY KEY (`id`); + +-- +-- Index pour la table `type_suivis` +-- +ALTER TABLE `type_suivis` + ADD PRIMARY KEY (`id`); + +-- +-- Index pour la table `unites` +-- +ALTER TABLE `unites` + ADD PRIMARY KEY (`id`); + +-- +-- Index pour la table `users` +-- +ALTER TABLE `users` + ADD PRIMARY KEY (`id`), + ADD KEY `fk_users_groupes_travails1` (`groupes_metier_id`), + ADD KEY `fk_users_groupe_thematique_id` (`groupe_thematique_id`), + ADD KEY `fk_users_sur_categories_id_idx` (`sur_categorie_id`); + +-- +-- Index pour la table `variables` +-- +ALTER TABLE `variables` + ADD PRIMARY KEY (`id`), + ADD KEY `fk_variables_formule_id_idx` (`formule_id`); + +-- +-- AUTO_INCREMENT pour les tables déchargées +-- + +-- +-- AUTO_INCREMENT pour la table `categories` +-- +ALTER TABLE `categories` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=76; + +-- +-- AUTO_INCREMENT pour la table `configurations` +-- +ALTER TABLE `configurations` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; + +-- +-- AUTO_INCREMENT pour la table `documents` +-- +ALTER TABLE `documents` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=17; + +-- +-- AUTO_INCREMENT pour la table `emprunts` +-- +ALTER TABLE `emprunts` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; + +-- +-- AUTO_INCREMENT pour la table `fichemetrologiques` +-- +ALTER TABLE `fichemetrologiques` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT pour la table `formules` +-- +ALTER TABLE `formules` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT pour la table `fournisseurs` +-- +ALTER TABLE `fournisseurs` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=390; + +-- +-- AUTO_INCREMENT pour la table `groupes_metiers` +-- +ALTER TABLE `groupes_metiers` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10; + +-- +-- AUTO_INCREMENT pour la table `groupes_thematiques` +-- +ALTER TABLE `groupes_thematiques` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9; + +-- +-- AUTO_INCREMENT pour la table `materiels` +-- +ALTER TABLE `materiels` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11964; + +-- +-- AUTO_INCREMENT pour la table `mesures` +-- +ALTER TABLE `mesures` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT pour la table `organismes` +-- +ALTER TABLE `organismes` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4; + +-- +-- AUTO_INCREMENT pour la table `sites` +-- +ALTER TABLE `sites` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10; + +-- +-- AUTO_INCREMENT pour la table `sous_categories` +-- +ALTER TABLE `sous_categories` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=50; + +-- +-- AUTO_INCREMENT pour la table `suivis` +-- +ALTER TABLE `suivis` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT pour la table `sur_categories` +-- +ALTER TABLE `sur_categories` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7; + +-- +-- AUTO_INCREMENT pour la table `type_documents` +-- +ALTER TABLE `type_documents` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=14; + +-- +-- AUTO_INCREMENT pour la table `type_suivis` +-- +ALTER TABLE `type_suivis` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10; + +-- +-- AUTO_INCREMENT pour la table `unites` +-- +ALTER TABLE `unites` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT pour la table `users` +-- +ALTER TABLE `users` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=73; + +-- +-- AUTO_INCREMENT pour la table `variables` +-- +ALTER TABLE `variables` + MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; + +-- +-- Contraintes pour les tables déchargées +-- + +-- +-- Contraintes pour la table `categories` +-- +ALTER TABLE `categories` + ADD CONSTRAINT `fk_sur_categorie_id` FOREIGN KEY (`sur_categorie_id`) REFERENCES `sur_categories` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; + +-- +-- Contraintes pour la table `documents` +-- +ALTER TABLE `documents` + ADD CONSTRAINT `fk_documents_materiel_id` FOREIGN KEY (`materiel_id`) REFERENCES `materiels` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, + ADD CONSTRAINT `fk_documents_suivi_id` FOREIGN KEY (`suivi_id`) REFERENCES `suivis` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, + ADD CONSTRAINT `fk_documents_type_documents_id` FOREIGN KEY (`type_document_id`) REFERENCES `type_documents` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; + +-- +-- Contraintes pour la table `emprunts` +-- +ALTER TABLE `emprunts` + ADD CONSTRAINT `fk_emprunts_site_id` FOREIGN KEY (`site_id`) REFERENCES `sites` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, + ADD CONSTRAINT `fk_technical_materials_internal_loans_copy1_admi_materials1` FOREIGN KEY (`materiel_id`) REFERENCES `materiels` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; + +-- +-- Contraintes pour la table `materiels` +-- +ALTER TABLE `materiels` + ADD CONSTRAINT `fk_administrative_materials_sub_categories1` FOREIGN KEY (`sous_categorie_id`) REFERENCES `sous_categories` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, + ADD CONSTRAINT `fk_materials_thematic_group1` FOREIGN KEY (`groupes_thematique_id`) REFERENCES `groupes_thematiques` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, + ADD CONSTRAINT `fk_materials_work_group1` FOREIGN KEY (`groupes_metier_id`) REFERENCES `groupes_metiers` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, + ADD CONSTRAINT `fk_materiels_categories1` FOREIGN KEY (`categorie_id`) REFERENCES `categories` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, + ADD CONSTRAINT `fk_materiels_fournisseurs_id` FOREIGN KEY (`fournisseur_id`) REFERENCES `fournisseurs` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, + ADD CONSTRAINT `fk_materiels_organisme_id` FOREIGN KEY (`organisme_id`) REFERENCES `organismes` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, + ADD CONSTRAINT `fk_materiels_site_id` FOREIGN KEY (`site_id`) REFERENCES `sites` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, + ADD CONSTRAINT `fk_materiels_sur_categorie_id` FOREIGN KEY (`sur_categorie_id`) REFERENCES `sur_categories` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; + +-- +-- Contraintes pour la table `sous_categories` +-- +ALTER TABLE `sous_categories` + ADD CONSTRAINT `category_id` FOREIGN KEY (`categorie_id`) REFERENCES `categories` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; + +-- +-- Contraintes pour la table `suivis` +-- +ALTER TABLE `suivis` + ADD CONSTRAINT `fk_admi_material_histories_admi_materials1` FOREIGN KEY (`materiel_id`) REFERENCES `materiels` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, + ADD CONSTRAINT `fk_suivis_formule_id` FOREIGN KEY (`formule_id`) REFERENCES `formules` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, + ADD CONSTRAINT `fk_suivis_groupe_metier` FOREIGN KEY (`groupes_metier_id`) REFERENCES `groupes_metiers` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, + ADD CONSTRAINT `fk_suivis_groupe_thematique` FOREIGN KEY (`groupes_thematique_id`) REFERENCES `groupes_thematiques` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, + ADD CONSTRAINT `fk_suivis_type_suivi_id` FOREIGN KEY (`type_suivi_id`) REFERENCES `type_suivis` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, + ADD CONSTRAINT `fk_suivis_unite_id` FOREIGN KEY (`unite_id`) REFERENCES `unites` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; + +-- +-- Contraintes pour la table `users` +-- +ALTER TABLE `users` + ADD CONSTRAINT `fk_users_sur_categories_id` FOREIGN KEY (`sur_categorie_id`) REFERENCES `sur_categories` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; +COMMIT; + + + +-- Insertion par défaut +Insert into type_suivis(nom) values ('Réparation'); +Insert into type_suivis(id,nom) values ('2','Panne'); +Insert into sites(id, nom) values (9, 'N/A'); + +Insert into type_documents(id, nom) values (1, 'N/A'); +Insert into type_documents(id, nom) values (13, 'Devis'); +Insert into type_documents(nom) values ('Bon de commande'); +Insert into type_documents(nom) values ('Bon de livraison'); +Insert into type_documents(nom) values ('Photo'); +Insert into type_documents(nom) values ('Documentation technique'); +Insert into type_documents(nom) values ('Spécifications'); +Insert into type_documents(nom) values ('CR de maintenance'); +Insert into type_documents(nom) values ('CR d\'étalonnage'); +Insert into type_documents(nom) values ('Suivi de panne'); +Insert into type_documents(nom) values ('Certificat de garantie'); +Insert into type_documents(nom) values ('Certificat de conformité'); +Insert into type_documents(nom) values ('Manuel d\'utilisation'); + +-- Insertion par défaut pour la table configuration +Insert into `configurations`(`id`, `nom`, `mode_install`, `mode_debug`, `use_ldap`, `host_ldap`, `port_ldap`, `authentificationType_ldap`, `baseDn_ldap`, `filter_ldap`, `labName`, `labNameShort`, `labPresent`, `labUmr`, `hasPrinter`, `emailGuest1`, `emailGuest2`, `emailGuest3`) +values (1, 'default', '1', '0', '0', '', '', 'xxx', '', '', 'LABONAME', 'LABO', 'du ', '', '0', '', '', ''); + + + + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/database/insert_fake_users.sql b/database/insert_fake_users.sql new file mode 100755 index 0000000..3409b65 --- /dev/null +++ b/database/insert_fake_users.sql @@ -0,0 +1,33 @@ +-- Insertion des users. + +-- Ajout de FAUX users de TEST (hors LDAP, fonctionne avec un "fake" ldap) +use mydb; + +-- ATTENTION: +-- - SANS annuaire LDAP, vous devez mettre ici TOUS les users (les privilegies ainsi que les simples users) + +-- NB: C'est la variable USE_LDAP de votre fichier cakephp/app/Config/config.php +-- qui determine l'utilisation ou non d'un LDAP : +-- - USE_LDAP = TRUE ==> on utilise un LDAP +-- - USE_LDAP = FALSE ==> pas de LDAP + +/* DEV ONLY - AVEC GROUPES METIERS +INSERT INTO users (nom, username, password, email, role, groupes_metier_id) VALUES + ('SuperAdmin', 'superadmin', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', 'superadmin@irap.omp.eu', 'Super Administrateur', 1), + ('AdminPlus', 'adminplus', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', 'adminplus@irap.omp.eu', 'Administration Plus', 5), + ('Admin', 'admin', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', 'admin@irap.omp.eu', 'Administration', 5), + ('Responsable', 'responsable', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', 'resp@irap.omp.eu', 'Responsable', 2), + ('Utilisateur', 'utilisateur', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', 'utilisateur@irap.omp.eu', 'Utilisateur', 7); +*/ + +-- Mot de passe par défaut : login + +-- SANS GROUPES METIERS +-- password = "login" (hashed) for all users +INSERT INTO users (nom, username, password, email, role) VALUES + ('SuperAdmin .', 'superadmin', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', 'superadmin@irap.omp.eu', 'Super Administrateur'), + ('AdminPlus .', 'adminplus', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', 'adminplus@irap.omp.eu', 'Administration Plus'), + ('Admin .', 'admin', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', 'admin@irap.omp.eu', 'Administration'), + ('Responsable .', 'responsable', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', 'resp@irap.omp.eu', 'Responsable'), + ('Utilisateur .', 'utilisateur', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', 'utilisateur@irap.omp.eu', 'Utilisateur'); + diff --git a/database/insert_superadmin_user.sql b/database/insert_superadmin_user.sql new file mode 100755 index 0000000..213c625 --- /dev/null +++ b/database/insert_superadmin_user.sql @@ -0,0 +1,12 @@ +-- Insertion des users. + +-- Ajout du super administrateur de l'application +-- Nom, Prenom, userlogin, et __@__ (email) seront remplaces par les donnees saisies lors de l'installation + +-- Mot de passe par défaut : login + +use mydb; + +INSERT INTO users (nom, username, password, email, role) VALUES +('Nom Prenom', 'userlogin', '$2y$10$LZzpws3oDidBcqO/Fy1RTedLLk3ENTmplny5J7bZ6R1PqFoGOw3Ma', '__@__', 'Super Administrateur'); + diff --git a/database/insert_tables_default_data_IRAP.sql b/database/insert_tables_default_data_IRAP.sql new file mode 100755 index 0000000..ec5652b --- /dev/null +++ b/database/insert_tables_default_data_IRAP.sql @@ -0,0 +1,186 @@ +-- +-- Insertion des contenus pour les tables de specifications. +-- +-- ------------------------------------------- +-- +-- Contenu de la table 'sur_categories' +-- + +-- ATTENTION : remplacer le nom "mydb" par le nom de votre base de donnée +use mydb; + +INSERT INTO sur_categories (id, nom) VALUES (1, 'Electronique'), +(2, 'Informatique'), +(3, 'Instrumentation'), +(4, 'Logistique'), +(5, 'Mecanique'), +(6, 'Optique'); + +-- --------------------------------------- +-- +-- Contenu de la table 'categories' +-- + +INSERT INTO `categories` (`id`, `nom`, `sur_categorie_id`) VALUES +(1, 'Alimentation', 1), +(2, 'Amplificateur', 1), +(3, 'Analyseur', 1), +(4, 'Carte', 1), +(5, 'Diode', 1), +(6, 'Codeur', 1), +(7, 'Convertisseur', 1), +(8, 'Generateur', 1), +(9, 'Logiciel Electronique', 1), +(10, 'Z-Materiel Electronique', 1), +(11, 'Mesure Electronique', 1), +(12, 'Multimetre', 1), +(13, 'Oscilloscope', 1), +(14, 'Programmateur', 1), +(15, 'Recepteur', 1), +(16, 'Baie', 2), +(17, 'Disque', 2), +(18, 'Imprimante', 2), +(19, 'Logiciel Informatique', 2), +(20, 'Z-Materiel Informatique', 2), +(21, 'Moniteur', 2), +(22, 'Onduleur', 2), +(23, 'Portable', 2), +(24, 'Reseau', 2), +(25, 'Serveur', 2), +(26, 'Station Travail', 2), +(27, 'Binoculaire', 3), +(28, 'Calibrateur', 3), +(29, 'Carte PC', 3), +(30, 'Chimie', 3), +(31, 'Compresseur', 3), +(32, 'Cryothermostat', 3), +(33, 'Cuve', 3), +(34, 'Deplacement Horizontal', 3), +(35, 'Deplacement Rotation', 3), +(36, 'Detendeur', 3), +(37, 'Etuve', 3), +(38, 'Filtre', 3), +(39, 'Four', 3), +(40, 'Jauge', 3), +(41, 'Logiciel Instrumentation', 3), +(42, 'Manometre', 3), +(43, 'Z-Materiel Chimie', 3), +(44, 'Z-materiel Instrumentation', 3), +(45, 'Mesure Instrumentale', 3), +(46, 'Meteo', 3), +(47, 'PC Acquisition', 3), +(48, 'Pompe a vide', 3), +(49, 'Sonde', 3), +(50, 'Spectrometre', 3), +(51, 'Station sismologique', 3), +(52, 'Climatisation', 4), +(53, 'Mobilier', 4), +(54, 'Z-Materiel Logistique', 4), +(55, 'Vehicule', 4), +(56, 'Video-Projecteur', 4), +(57, 'Z-Materiel Mecanique', 5), +(58, 'Adc', 6), +(59, 'Auto Colimateur', 6), +(60, 'Analyseur Optique', 6), +(61, 'Camera', 6), +(62, 'Laser', 6), +(63, 'Lentille', 6), +(64, 'Logiciel Optique', 6), +(65, 'Z-Materiel Optique', 6), +(66, 'Miroir', 6), +(67, 'Monochromateur', 6), +(68, 'Optometre', 6), +(69, 'DETECTEUR', 3), +(70, 'MATERIEL SISMO', 3), +(71, 'FILTRE OPTIQUE', 6), +(72, 'OSCILLATEUR', 3), +(73, 'TERMINAL X', 2); + +-- ----------------------------------------------- +-- +-- Contenu de la table 'sous_categories' +-- + +INSERT INTO `sous_categories` (`id`, `nom`, `categorie_id`) VALUES +(1, 'Appareil', 1), +(2, 'Batterie', 1), +(3, 'Chassis', 1), +(4, 'Haute tension', 1), +(5, 'Puissance', 1), +(6, 'Tension', 1), +(7, 'Spectre', 3), +(8, 'Logique', 3), +(9, 'Acquisition', 4), +(10, 'FPGA', 4), +(11, 'Arbitraire', 8), +(12, 'ASIC', 9), +(13, 'Etalon', 11), +(14, 'PicoAmperemetre', 11), +(15, 'Photometre', 11), +(16, 'Pont', 11), +(17, 'Couleur', 18), +(18, 'Laser Couleur', 18), +(19, 'Laser Noir et Blanc', 18), +(20, 'Traitement Image', 19), +(21, 'Mac', 21), +(22, 'Mac', 23), +(23, 'PC', 23), +(24, 'Commutateur', 24), +(25, 'Mac', 26), +(26, 'PC', 26), +(27, 'Acquisition', 29), +(28, 'Generateur', 29), +(29, 'Vide', 44), +(30, 'Ions', 45), +(31, 'Particules', 45), +(32, 'Oxygene', 45), +(33, 'Temps', 45), +(34, 'Bureau', 52), +(35, 'Visio', 54), +(36, 'Couple', 57), +(37, 'Graphique', 60), +(38, 'Laser', 60), +(39, 'CCD', 61), +(40, 'CMOS', 61), +(41, 'Infra-Rouge', 61), +(42, 'Laser', 65); + +-- ----------------------------------------- +-- +-- Contenu de la table 'groupes_metiers' +-- + +INSERT INTO groupes_metiers (id, nom, description) VALUES +(1, 'N/A', NULL), +(2, 'GEDI', 'Electronique'), +(3, 'GT2I', 'Informatique'), +(4, 'GI', 'Instrumentation'), +(5, 'GACL', 'Administration, gestion, logistique'), +(6, 'GGPAQ', 'Gestion projet, Qualité'), +(7, 'GM', 'Mécanique'), +(8,'SI','Service Informatique'), +(9, 'RS', 'Réseau Sismique'); + +-- ----------------------------------------- +-- +-- Contenu de la table 'groupes_thematiques' +-- + +INSERT INTO groupes_thematiques (id, nom, description) VALUES +(1, 'N/A', NULL), +(2, 'PSE', NULL), +(3, 'MICMAC', NULL), +(4, 'GAHEC', NULL), +(5, 'SISU', NULL), +(6, 'SG', NULL), +(7, 'GPPS', NULL); + +-- ------------------------------------------- +-- +-- Contenu de la table 'utilisateurs' +-- + +# contenu deplace dans le fichier requete Insert_Users.sql + + +-- \ No newline at end of file diff --git a/database/labinvent_add_base_testsql b/database/labinvent_add_base_testsql deleted file mode 100755 index 41223bf..0000000 --- a/database/labinvent_add_base_testsql +++ /dev/null @@ -1,8 +0,0 @@ -CREATE SCHEMA IF NOT EXISTS test_labinvent2 DEFAULT CHARACTER SET latin1; - -GRANT USAGE ON *.* TO 'superadmin'; -DROP USER 'superadmin'; - -grant all on test_labinvent2.* to 'superadmin'@'localhost' identified by 'superadmin'; - -flush privileges; diff --git a/database/labinvent_last_version.sql b/database/labinvent_last_version.sql deleted file mode 100644 index 1f6aa4f..0000000 --- a/database/labinvent_last_version.sql +++ /dev/null @@ -1,867 +0,0 @@ --- phpMyAdmin SQL Dump --- version 4.7.8 --- https://www.phpmyadmin.net/ --- --- Hôte : 127.0.0.1 --- Généré le : ven. 11 jan. 2019 à 18:07 --- Version du serveur : 5.7.21 --- Version de PHP : 5.6.33 - -SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; -SET AUTOCOMMIT = 0; -START TRANSACTION; -SET time_zone = "+00:00"; - - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8mb4 */; - --- --- Base de données : `mydb` --- - -CREATE SCHEMA IF NOT EXISTS mydb DEFAULT CHARACTER SET latin1; -CREATE SCHEMA IF NOT EXISTS test_labinvent2 DEFAULT CHARACTER SET latin1; - - --- Creation du proprietaire de la BD --- La ligne suivante serait la meilleure, mais ne suffit pas, impossible de se connecter a la BD avec ceci : --- grant all on mydb.* to 'bddUserName' identified by 'bddUserPass'; --- ni avec ceci : --- grant all on mydb.* to 'bddUserName'@'%' identified by 'bddUserPass'; --- Il faut donc faire ceci (ajouter localhost) et on pourra alors se connecter a la BD !!! : - --- Il faut supprimer l'utilisateur avant de l'ajouter. -GRANT USAGE ON *.* TO 'mydb_user'; -DROP USER 'mydb_user'; - -GRANT USAGE ON *.* TO 'superadmin'; -DROP USER 'superadmin'; - --- grant all on mydb.* to 'mydb'@'localhost' identified by 'mydb1'; -grant all on mydb.* to 'mydb_user'@'localhost' identified by 'mydb_pass'; - --- grant all on test_labinvent2.* to 'superadmin'@'localhost' identified by 'superadmin'; -grant all on test_labinvent2.* to 'mydb_user'@'localhost' identified by 'mydb_pass'; - --- Mais, ca serait plus prudent de limiter les droits (au lieu de "grant all"): --- grant select,insert,update,delete on mydb.* to ... -flush privileges; - - - -USE `mydb`; - - --- -------------------------------------------------------- - --- --- Structure de la table `categories` --- - -CREATE TABLE `categories` ( - `id` int(11) NOT NULL, - `nom` varchar(45) NOT NULL COMMENT 'obligatoire (et unique)', - `sur_categorie_id` int(11) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Structure de la table `configurations` --- - -CREATE TABLE `configurations` ( - `id` int(11) NOT NULL, - `nom` varchar(45) NOT NULL COMMENT 'obligatoire (et unique)', - `mode_install` tinyint(1) DEFAULT '1', - `mode_debug` tinyint(1) DEFAULT '0', - `labNameShort` varchar(10) DEFAULT NULL, - `labPresent` varchar(10) DEFAULT NULL, - `labUmr` varchar(30) DEFAULT NULL, - `hasPrinter` tinyint(1) DEFAULT '0', - `nom_groupe_thematique` varchar(50) DEFAULT 'Groupe thematique', - `nom_groupe_metier` varchar(50) DEFAULT 'Groupe metier', - `envoi_mail` tinyint(1) NOT NULL DEFAULT '0', - `envoi_mail_guests` tinyint(1) NOT NULL DEFAULT '0', - `emailGuest1` varchar(45) DEFAULT NULL, - `emailGuest2` varchar(45) DEFAULT NULL, - `emailGuest3` varchar(45) DEFAULT NULL, - `emailGuest4` varchar(45) DEFAULT NULL, - `emailGuest5` varchar(45) DEFAULT NULL, - `test` tinyint(1) DEFAULT '0', - `prix_inventaire_administratif` int(10) DEFAULT '800', - `emailGuest6` varchar(45) DEFAULT NULL, - `emailGuest7` varchar(45) DEFAULT NULL, - `emailGuest8` varchar(45) DEFAULT NULL, - `emailGuest9` varchar(45) DEFAULT NULL, - `emailGuest10` varchar(45) DEFAULT NULL, - `sender_mail` varchar(500) DEFAULT 'labinvent@irap.omp.eu', - `labName` varchar(200) DEFAULT 'NOM COMPLET', - `date_commande_facultative` tinyint(1) DEFAULT '0', - `numero_labo_sans_annee` tinyint(1) DEFAULT '0', - `taille_max_doc` int(15) DEFAULT '8000000', - `metrologie` tinyint(1) DEFAULT '0', - `aff_par_defaut` smallint(6) NOT NULL DEFAULT '20', - `procedure_sur_accueil` tinyint(1) NOT NULL DEFAULT '1', - `ldap_used` tinyint(1) NOT NULL DEFAULT '0', - `ldap_authentified` tinyint(1) NOT NULL DEFAULT '1', - `ldap_bindDn` varchar(250) DEFAULT NULL, - `ldap_bindPass` varchar(50) DEFAULT NULL, - `ldap_host` varchar(250) DEFAULT NULL, - `ldap_port` varchar(10) DEFAULT NULL, - `ldap_authenticationType` varchar(30) DEFAULT NULL, - `ldap_baseDn` varchar(300) DEFAULT NULL, - `ldap_filter` varchar(300) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Structure de la table `documents` --- - -CREATE TABLE `documents` ( - `id` int(11) NOT NULL, - `type_doc` varchar(20) DEFAULT NULL, - `materiel_id` int(11) DEFAULT NULL, - `suivi_id` int(11) DEFAULT NULL, - `type_document_id` int(11) DEFAULT NULL, - `description` text, - `nom` varchar(100) DEFAULT NULL, - `photo` tinyint(1) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Structure de la table `emprunts` --- - -CREATE TABLE `emprunts` ( - `id` int(11) NOT NULL, - `materiel_id` int(11) NOT NULL, - `date_emprunt` date DEFAULT NULL, - `date_retour_emprunt` date DEFAULT NULL, - `emprunt_interne` tinyint(1) DEFAULT NULL, - `laboratoire` varchar(45) DEFAULT NULL, - `e_lieu_detail` varchar(45) DEFAULT NULL, - `nom_emprunteur` varchar(45) DEFAULT NULL, - `email_emprunteur` varchar(45) DEFAULT NULL, - `tel` varchar(20) DEFAULT NULL, - `commentaire` varchar(200) DEFAULT NULL, - `nom_createur` varchar(45) DEFAULT NULL COMMENT 'nom du createur de la fiche', - `nom_modificateur` varchar(45) DEFAULT NULL COMMENT 'nom du modificateur de la fiche', - `created` datetime DEFAULT NULL COMMENT 'date et heure de creation de la fiche', - `modified` datetime DEFAULT NULL COMMENT 'date et heure de modif de la fiche', - `site_id` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Structure de la table `fichemetrologiques` --- - -CREATE TABLE `fichemetrologiques` ( - `id` int(11) NOT NULL, - `suivi_id` int(11) NOT NULL, - `mesurande` double DEFAULT NULL, - `moyenne` double DEFAULT NULL, - `ecarttype` double DEFAULT NULL, - `correction` double DEFAULT NULL, - `ua` double DEFAULT NULL, - `ub` double DEFAULT NULL, - `uc` double DEFAULT NULL, - `uf` double DEFAULT NULL, - `u` double DEFAULT NULL, - `incertitude` double DEFAULT NULL, - `conditionEnv` double DEFAULT NULL, - `resolution` varchar(45) DEFAULT NULL, - `etatmateriel` varchar(45) DEFAULT NULL, - `etatmetrologique` varchar(45) DEFAULT NULL, - `emtpersonnel` double DEFAULT NULL, - `nbMesure` int(11) DEFAULT NULL, - `conformeEMTstandart` varchar(100) DEFAULT NULL, - `conformeEMTperso` varchar(100) DEFAULT NULL, - `resultatfinal` varchar(100) DEFAULT NULL, - `observation` varchar(200) DEFAULT NULL, - `datefiche` date DEFAULT NULL, - `retard` varchar(45) DEFAULT 'RAS', - `justesse` double DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Structure de la table `formules` --- - -CREATE TABLE `formules` ( - `id` int(11) NOT NULL, - `nommesure` varchar(100) DEFAULT NULL, - `symbole` varchar(45) DEFAULT 'F', - `unite` varchar(45) DEFAULT NULL, - `nbVariable` int(11) DEFAULT NULL, - `formule` varchar(200) DEFAULT 'F' -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Structure de la table `fournisseurs` --- - -CREATE TABLE `fournisseurs` ( - `id` int(11) NOT NULL, - `nom` varchar(45) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Structure de la table `groupes_metiers` --- - -CREATE TABLE `groupes_metiers` ( - `id` int(11) NOT NULL, - `nom` varchar(45) DEFAULT NULL, - `description` varchar(100) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Structure de la table `groupes_thematiques` --- - -CREATE TABLE `groupes_thematiques` ( - `id` int(11) NOT NULL, - `nom` varchar(45) DEFAULT NULL, - `description` varchar(100) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Structure de la table `materiels` --- - -CREATE TABLE `materiels` ( - `id` int(11) NOT NULL, - `designation` varchar(50) DEFAULT NULL, - `sur_categorie_id` int(11) DEFAULT NULL, - `categorie_id` int(11) DEFAULT NULL, - `sous_categorie_id` int(11) DEFAULT NULL, - `numero_laboratoire` varchar(20) DEFAULT NULL, - `description` text, - `materiel_administratif` tinyint(1) DEFAULT NULL, - `materiel_technique` tinyint(1) DEFAULT NULL, - `status` varchar(15) DEFAULT 'CREATED', - `date_acquisition` date DEFAULT NULL, - `prix_ht` float UNSIGNED DEFAULT NULL, - `eotp` varchar(45) DEFAULT NULL, - `numero_commande` varchar(45) DEFAULT NULL, - `code_comptable` varchar(45) DEFAULT NULL, - `numero_serie` varchar(45) DEFAULT NULL, - `groupes_thematique_id` int(11) DEFAULT NULL, - `groupes_metier_id` int(11) DEFAULT NULL, - `numero_inventaire_organisme` varchar(45) DEFAULT NULL, - `numero_inventaire_old` varchar(45) DEFAULT NULL COMMENT 'Ancien numero inventaire', - `date_archivage` date DEFAULT NULL, - `etiquette` tinyint(1) DEFAULT '0' COMMENT 'etiquette sur materiel oui ou non', - `lieu_detail` varchar(45) DEFAULT NULL, - `nom_responsable` varchar(45) DEFAULT NULL, - `email_responsable` varchar(45) DEFAULT NULL, - `gestionnaire_id` int(11) DEFAULT NULL, - `nom_createur` varchar(45) DEFAULT NULL COMMENT 'nom du createur de la fiche', - `nom_modificateur` varchar(45) DEFAULT NULL COMMENT 'nom du modificateur de la fiche', - `created` datetime DEFAULT NULL COMMENT 'date et heure de creation de la fiche', - `modified` datetime DEFAULT NULL COMMENT 'date et heure de modif de la fiche', - `date_reception` date DEFAULT NULL, - `organisme_id` int(11) DEFAULT NULL, - `site_id` int(11) DEFAULT '2', - `date_fin_garantie` date DEFAULT NULL, - `duree_garantie` int(10) DEFAULT NULL, - `unite_duree_garantie` varchar(30) DEFAULT NULL, - `hors_service` tinyint(1) DEFAULT NULL, - `photo_id` int(11) DEFAULT NULL, - `metrologie` tinyint(1) DEFAULT '0', - `fournisseur_id` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Structure de la table `mesures` --- - -CREATE TABLE `mesures` ( - `id` int(11) NOT NULL, - `fichemetrologique_id` int(11) NOT NULL, - `valeur` double DEFAULT NULL, - `erreur` double DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Structure de la table `organismes` --- - -CREATE TABLE `organismes` ( - `id` int(11) NOT NULL, - `nom` varchar(50) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Structure de la table `phinxlog` --- - -CREATE TABLE `phinxlog` ( - `version` bigint(20) NOT NULL, - `migration_name` varchar(100) DEFAULT NULL, - `start_time` timestamp NULL DEFAULT NULL, - `end_time` timestamp NULL DEFAULT NULL, - `breakpoint` tinyint(1) NOT NULL DEFAULT '0' -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - --- -------------------------------------------------------- - --- --- Structure de la table `sites` --- - -CREATE TABLE `sites` ( - `id` int(11) NOT NULL, - `nom` varchar(50) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Structure de la table `sous_categories` --- - -CREATE TABLE `sous_categories` ( - `id` int(11) NOT NULL, - `nom` varchar(45) NOT NULL, - `categorie_id` int(11) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Structure de la table `suivis` --- - -CREATE TABLE `suivis` ( - `id` int(11) NOT NULL, - `materiel_id` int(11) NOT NULL, - `date_controle` date DEFAULT NULL, - `date_prochain_controle` date DEFAULT NULL, - `organisme` varchar(50) DEFAULT NULL, - `frequence` int(11) DEFAULT NULL, - `commentaire` varchar(100) DEFAULT NULL, - `nom_createur` varchar(45) DEFAULT NULL COMMENT 'nom du createur de la fiche', - `nom_modificateur` varchar(45) DEFAULT NULL COMMENT 'nom du modificateur de la fiche', - `created` datetime DEFAULT NULL COMMENT 'date et heure de creation de la fiche', - `modified` datetime DEFAULT NULL COMMENT 'date et heure de modif de la fiche', - `unite_id` int(11) DEFAULT NULL, - `plage_debut` double DEFAULT NULL, - `plage_fin` double DEFAULT NULL, - `resolution` double DEFAULT NULL, - `tolerance` double DEFAULT NULL, - `sensibilite` double DEFAULT NULL, - `justesse` double DEFAULT NULL, - `fidelite` double DEFAULT NULL, - `typemesure` varchar(45) DEFAULT 'Direct', - `emtstandart` double DEFAULT NULL, - `symbole` varchar(45) DEFAULT NULL, - `nommesure` varchar(45) DEFAULT NULL, - `valeurRef` double DEFAULT NULL, - `intitule` varchar(100) DEFAULT NULL, - `conforme` varchar(100) DEFAULT NULL, - `formule_id` int(11) DEFAULT NULL, - `type_suivi_id` int(11) DEFAULT NULL, - `type_frequence` varchar(30) DEFAULT NULL, - `panne_resolu` tinyint(1) DEFAULT '1', - `groupes_metier_id` int(11) DEFAULT NULL, - `groupes_thematique_id` int(11) DEFAULT NULL, - `statut` varchar(30) DEFAULT 'En cours' -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Structure de la table `sur_categories` --- - -CREATE TABLE `sur_categories` ( - `id` int(11) NOT NULL, - `nom` varchar(45) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Structure de la table `type_documents` --- - -CREATE TABLE `type_documents` ( - `id` int(11) NOT NULL, - `nom` varchar(100) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Structure de la table `type_suivis` --- - -CREATE TABLE `type_suivis` ( - `id` int(11) NOT NULL, - `nom` varchar(50) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Structure de la table `unites` --- - -CREATE TABLE `unites` ( - `id` int(11) NOT NULL, - `nom` varchar(45) DEFAULT NULL, - `symbole` varchar(45) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Structure de la table `users` --- - -CREATE TABLE `users` ( - `id` int(11) NOT NULL, - `nom` varchar(45) DEFAULT NULL, - `username` varchar(45) DEFAULT NULL, - `email` varchar(45) DEFAULT NULL, - `role` varchar(45) DEFAULT NULL, - `groupes_metier_id` int(11) DEFAULT NULL, - `password` varchar(255) DEFAULT '$2y$10$nBQMNstgN.sgad1ZANznY.pbJI.ZG/.Q5qX4gC8SXCFQnDIZC8rcW', - `groupe_thematique_id` int(11) DEFAULT NULL, - `sur_categorie_id` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- -------------------------------------------------------- - --- --- Structure de la table `variables` --- - -CREATE TABLE `variables` ( - `id` int(11) NOT NULL, - `formule_id` int(11) DEFAULT NULL, - `symbolegrandeurphysique` varchar(45) DEFAULT NULL, - `symboleunitemesure` varchar(45) DEFAULT NULL, - `nomgrandeurphysique` varchar(45) DEFAULT NULL, - `domainedef` varchar(45) DEFAULT NULL, - `derivepartielle` varchar(100) DEFAULT 'F' -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - --- --- Index pour les tables déchargées --- - --- --- Index pour la table `categories` --- -ALTER TABLE `categories` - ADD PRIMARY KEY (`id`), - ADD UNIQUE KEY `nom_UNIQUE` (`nom`), - ADD KEY `fk_sur_categorie_id` (`sur_categorie_id`); - --- --- Index pour la table `configurations` --- -ALTER TABLE `configurations` - ADD PRIMARY KEY (`id`), - ADD UNIQUE KEY `nom_UNIQUE` (`nom`); - --- --- Index pour la table `documents` --- -ALTER TABLE `documents` - ADD PRIMARY KEY (`id`), - ADD KEY `fk_documents_materiel_id` (`materiel_id`), - ADD KEY `fk_documents_suivi_id` (`suivi_id`), - ADD KEY `fk_documents_type_documents_id` (`type_document_id`); - --- --- Index pour la table `emprunts` --- -ALTER TABLE `emprunts` - ADD PRIMARY KEY (`id`), - ADD KEY `fk_technical_materials_internal_loans_copy1_admi_materials1` (`materiel_id`), - ADD KEY `fk_emprunts_site_id` (`site_id`); - --- --- Index pour la table `fichemetrologiques` --- -ALTER TABLE `fichemetrologiques` - ADD PRIMARY KEY (`id`), - ADD KEY `fk_fichemetrologique_suivi_id_idx` (`suivi_id`); - --- --- Index pour la table `formules` --- -ALTER TABLE `formules` - ADD PRIMARY KEY (`id`); - --- --- Index pour la table `fournisseurs` --- -ALTER TABLE `fournisseurs` - ADD PRIMARY KEY (`id`), - ADD UNIQUE KEY `nom` (`nom`); - --- --- Index pour la table `groupes_metiers` --- -ALTER TABLE `groupes_metiers` - ADD PRIMARY KEY (`id`); - --- --- Index pour la table `groupes_thematiques` --- -ALTER TABLE `groupes_thematiques` - ADD PRIMARY KEY (`id`); - --- --- Index pour la table `materiels` --- -ALTER TABLE `materiels` - ADD PRIMARY KEY (`id`), - ADD UNIQUE KEY `numero_irap` (`numero_laboratoire`), - ADD KEY `fk_administrative_materials_sub_categories1` (`sous_categorie_id`), - ADD KEY `fk_materials_thematic_group1` (`groupes_thematique_id`), - ADD KEY `fk_materials_work_group1` (`groupes_metier_id`), - ADD KEY `fk_materiels_categories1` (`categorie_id`), - ADD KEY `fk_materiels_sur_categorie_id` (`sur_categorie_id`), - ADD KEY `fk_materiels_organisme_id` (`organisme_id`), - ADD KEY `fk_materiels_site_id` (`site_id`), - ADD KEY `fk_materiels_fournisseurs_id_idx` (`fournisseur_id`); - --- --- Index pour la table `mesures` --- -ALTER TABLE `mesures` - ADD PRIMARY KEY (`id`), - ADD KEY `fk_mesures_fichemetrologique_id_idx` (`fichemetrologique_id`); - --- --- Index pour la table `organismes` --- -ALTER TABLE `organismes` - ADD PRIMARY KEY (`id`); - --- --- Index pour la table `phinxlog` --- -ALTER TABLE `phinxlog` - ADD PRIMARY KEY (`version`); - --- --- Index pour la table `sites` --- -ALTER TABLE `sites` - ADD PRIMARY KEY (`id`); - --- --- Index pour la table `sous_categories` --- -ALTER TABLE `sous_categories` - ADD PRIMARY KEY (`id`), - ADD KEY `category_id` (`categorie_id`); - --- --- Index pour la table `suivis` --- -ALTER TABLE `suivis` - ADD PRIMARY KEY (`id`), - ADD KEY `fk_admi_material_histories_admi_materials1` (`materiel_id`), - ADD KEY `fk_suivis_type_suivi_id` (`type_suivi_id`), - ADD KEY `fk_suivis_groupe_thematique` (`groupes_thematique_id`), - ADD KEY `fk_suivis_groupe_metier` (`groupes_metier_id`), - ADD KEY `fk_suivis_unite_id_idx` (`unite_id`), - ADD KEY `fk_suivis_formule_id_idx` (`formule_id`); - --- --- Index pour la table `sur_categories` --- -ALTER TABLE `sur_categories` - ADD PRIMARY KEY (`id`), - ADD UNIQUE KEY `nom_UNIQUE` (`nom`); - --- --- Index pour la table `type_documents` --- -ALTER TABLE `type_documents` - ADD PRIMARY KEY (`id`); - --- --- Index pour la table `type_suivis` --- -ALTER TABLE `type_suivis` - ADD PRIMARY KEY (`id`); - --- --- Index pour la table `unites` --- -ALTER TABLE `unites` - ADD PRIMARY KEY (`id`); - --- --- Index pour la table `users` --- -ALTER TABLE `users` - ADD PRIMARY KEY (`id`), - ADD KEY `fk_users_groupes_travails1` (`groupes_metier_id`), - ADD KEY `fk_users_groupe_thematique_id` (`groupe_thematique_id`), - ADD KEY `fk_users_sur_categories_id_idx` (`sur_categorie_id`); - --- --- Index pour la table `variables` --- -ALTER TABLE `variables` - ADD PRIMARY KEY (`id`), - ADD KEY `fk_variables_formule_id_idx` (`formule_id`); - --- --- AUTO_INCREMENT pour les tables déchargées --- - --- --- AUTO_INCREMENT pour la table `categories` --- -ALTER TABLE `categories` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=76; - --- --- AUTO_INCREMENT pour la table `configurations` --- -ALTER TABLE `configurations` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; - --- --- AUTO_INCREMENT pour la table `documents` --- -ALTER TABLE `documents` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=17; - --- --- AUTO_INCREMENT pour la table `emprunts` --- -ALTER TABLE `emprunts` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; - --- --- AUTO_INCREMENT pour la table `fichemetrologiques` --- -ALTER TABLE `fichemetrologiques` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT pour la table `formules` --- -ALTER TABLE `formules` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT pour la table `fournisseurs` --- -ALTER TABLE `fournisseurs` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=390; - --- --- AUTO_INCREMENT pour la table `groupes_metiers` --- -ALTER TABLE `groupes_metiers` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10; - --- --- AUTO_INCREMENT pour la table `groupes_thematiques` --- -ALTER TABLE `groupes_thematiques` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9; - --- --- AUTO_INCREMENT pour la table `materiels` --- -ALTER TABLE `materiels` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11964; - --- --- AUTO_INCREMENT pour la table `mesures` --- -ALTER TABLE `mesures` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT pour la table `organismes` --- -ALTER TABLE `organismes` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4; - --- --- AUTO_INCREMENT pour la table `sites` --- -ALTER TABLE `sites` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10; - --- --- AUTO_INCREMENT pour la table `sous_categories` --- -ALTER TABLE `sous_categories` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=50; - --- --- AUTO_INCREMENT pour la table `suivis` --- -ALTER TABLE `suivis` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT pour la table `sur_categories` --- -ALTER TABLE `sur_categories` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7; - --- --- AUTO_INCREMENT pour la table `type_documents` --- -ALTER TABLE `type_documents` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=14; - --- --- AUTO_INCREMENT pour la table `type_suivis` --- -ALTER TABLE `type_suivis` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10; - --- --- AUTO_INCREMENT pour la table `unites` --- -ALTER TABLE `unites` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT pour la table `users` --- -ALTER TABLE `users` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=73; - --- --- AUTO_INCREMENT pour la table `variables` --- -ALTER TABLE `variables` - MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; - --- --- Contraintes pour les tables déchargées --- - --- --- Contraintes pour la table `categories` --- -ALTER TABLE `categories` - ADD CONSTRAINT `fk_sur_categorie_id` FOREIGN KEY (`sur_categorie_id`) REFERENCES `sur_categories` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; - --- --- Contraintes pour la table `documents` --- -ALTER TABLE `documents` - ADD CONSTRAINT `fk_documents_materiel_id` FOREIGN KEY (`materiel_id`) REFERENCES `materiels` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, - ADD CONSTRAINT `fk_documents_suivi_id` FOREIGN KEY (`suivi_id`) REFERENCES `suivis` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, - ADD CONSTRAINT `fk_documents_type_documents_id` FOREIGN KEY (`type_document_id`) REFERENCES `type_documents` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; - --- --- Contraintes pour la table `emprunts` --- -ALTER TABLE `emprunts` - ADD CONSTRAINT `fk_emprunts_site_id` FOREIGN KEY (`site_id`) REFERENCES `sites` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, - ADD CONSTRAINT `fk_technical_materials_internal_loans_copy1_admi_materials1` FOREIGN KEY (`materiel_id`) REFERENCES `materiels` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; - --- --- Contraintes pour la table `materiels` --- -ALTER TABLE `materiels` - ADD CONSTRAINT `fk_administrative_materials_sub_categories1` FOREIGN KEY (`sous_categorie_id`) REFERENCES `sous_categories` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, - ADD CONSTRAINT `fk_materials_thematic_group1` FOREIGN KEY (`groupes_thematique_id`) REFERENCES `groupes_thematiques` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, - ADD CONSTRAINT `fk_materials_work_group1` FOREIGN KEY (`groupes_metier_id`) REFERENCES `groupes_metiers` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, - ADD CONSTRAINT `fk_materiels_categories1` FOREIGN KEY (`categorie_id`) REFERENCES `categories` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, - ADD CONSTRAINT `fk_materiels_fournisseurs_id` FOREIGN KEY (`fournisseur_id`) REFERENCES `fournisseurs` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, - ADD CONSTRAINT `fk_materiels_organisme_id` FOREIGN KEY (`organisme_id`) REFERENCES `organismes` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, - ADD CONSTRAINT `fk_materiels_site_id` FOREIGN KEY (`site_id`) REFERENCES `sites` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, - ADD CONSTRAINT `fk_materiels_sur_categorie_id` FOREIGN KEY (`sur_categorie_id`) REFERENCES `sur_categories` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; - --- --- Contraintes pour la table `sous_categories` --- -ALTER TABLE `sous_categories` - ADD CONSTRAINT `category_id` FOREIGN KEY (`categorie_id`) REFERENCES `categories` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; - --- --- Contraintes pour la table `suivis` --- -ALTER TABLE `suivis` - ADD CONSTRAINT `fk_admi_material_histories_admi_materials1` FOREIGN KEY (`materiel_id`) REFERENCES `materiels` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, - ADD CONSTRAINT `fk_suivis_formule_id` FOREIGN KEY (`formule_id`) REFERENCES `formules` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, - ADD CONSTRAINT `fk_suivis_groupe_metier` FOREIGN KEY (`groupes_metier_id`) REFERENCES `groupes_metiers` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, - ADD CONSTRAINT `fk_suivis_groupe_thematique` FOREIGN KEY (`groupes_thematique_id`) REFERENCES `groupes_thematiques` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, - ADD CONSTRAINT `fk_suivis_type_suivi_id` FOREIGN KEY (`type_suivi_id`) REFERENCES `type_suivis` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, - ADD CONSTRAINT `fk_suivis_unite_id` FOREIGN KEY (`unite_id`) REFERENCES `unites` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; - --- --- Contraintes pour la table `users` --- -ALTER TABLE `users` - ADD CONSTRAINT `fk_users_sur_categories_id` FOREIGN KEY (`sur_categorie_id`) REFERENCES `sur_categories` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION; -COMMIT; - - - --- Insertion par défaut -Insert into type_suivis(nom) values ('Réparation'); -Insert into type_suivis(id,nom) values ('2','Panne'); -Insert into sites(id, nom) values (9, 'N/A'); - -Insert into type_documents(id, nom) values (1, 'N/A'); -Insert into type_documents(id, nom) values (13, 'Devis'); -Insert into type_documents(nom) values ('Bon de commande'); -Insert into type_documents(nom) values ('Bon de livraison'); -Insert into type_documents(nom) values ('Photo'); -Insert into type_documents(nom) values ('Documentation technique'); -Insert into type_documents(nom) values ('Spécifications'); -Insert into type_documents(nom) values ('CR de maintenance'); -Insert into type_documents(nom) values ('CR d\'étalonnage'); -Insert into type_documents(nom) values ('Suivi de panne'); -Insert into type_documents(nom) values ('Certificat de garantie'); -Insert into type_documents(nom) values ('Certificat de conformité'); -Insert into type_documents(nom) values ('Manuel d\'utilisation'); - --- Insertion par défaut pour la table configuration -Insert into `configurations`(`id`, `nom`, `mode_install`, `mode_debug`, `use_ldap`, `host_ldap`, `port_ldap`, `authentificationType_ldap`, `baseDn_ldap`, `filter_ldap`, `labName`, `labNameShort`, `labPresent`, `labUmr`, `hasPrinter`, `emailGuest1`, `emailGuest2`, `emailGuest3`) -values (1, 'default', '1', '0', '0', '', '', 'xxx', '', '', 'LABONAME', 'LABO', 'du ', '', '0', '', '', ''); - - - - -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/install/installation.sh b/install/installation.sh index 2878280..d92db4f 100755 --- a/install/installation.sh +++ b/install/installation.sh @@ -144,17 +144,25 @@ if [ ! -d "./tmp/tests" ]; then mkdir ./tmp/tests/ fi if [ ! -d "./webroot/img/qrcodes" ]; then - mkdir ./webroot/img/qrcodes + # Normalement webroot/img/ existe déjà mais on ne sait jamais (donc -p) + mkdir -p ./webroot/img/qrcodes fi -if [ ! -d "./webroot/img/photos" ]; then - mkdir ./webroot/img/photos + +# (EP 11/6/19) Pour pouvoir upload des photos (doc attaché) +folder=./webroot/img/photos +if [ ! -d "$folder" ]; then + mkdir $folder fi +# Inutile car fait un peu plus loin +#chmod 777 $folder + # (EP 24/5/19) Pour pouvoir upload des docs attachés +# Question: A quoi sert tmp/documents/ ci-dessus ? On peut le virer ? folder=./webroot/files if [ ! -d "$folder" ]; then mkdir $folder - chmod 777 $folder fi +chmod 777 $folder # (EP) Est-ce vraiment utile ? #if [ ! -d "./vendor/phpunit" ]; then diff --git a/install/update.sh b/install/update.sh index ed46a8d..596a62c 100755 --- a/install/update.sh +++ b/install/update.sh @@ -33,8 +33,9 @@ function abort() { #mv ../database/update/db-update-2019-01-12.sh /tmp/ - +# ---------------------------------------- # 0) Sauvegarde de l'état actuel du dossier database/update/ (dans /tmp) +# ---------------------------------------- #db_update_scripts_before=( "key1" "key2" "key3" "key4" "key5" "key6" "key7" "key8" "key9" "key10" ) rm -rf $db_update_scripts_folder_tmp/ || abort mkdir $db_update_scripts_folder_tmp/ || abort @@ -57,8 +58,18 @@ read do_it ; [[ -z $do_it ]] && do_it="o" ; echo $do_it cd ../ || abort #git pull || abort git -c http.sslVerify=false pull || abort + +# Utile à faire si pb avec docs attachés +chmod 777 webroot/files/ +chmod 777 webroot/img/photos/ + cd - >/dev/null || abort + +# ---------------------------------------- +# 2) On fait la différence entre les fichiers de mise à jour BD présents après le git et avant +# ---------------------------------------- + # TEST only [[ $TEST == 1 ]] && (rm ../database/update/db-update-2014-08-23.sh ; touch ../database/update/test.txt ; touch ../database/update/db-update-2014-08-24.sh ; touch ../database/update/db-update-2014-08-25.sh; chmod +x ../database/update/db-update-2014-*.sh) #mv /tmp/db-update-2019-01-12.sh ../database/update/ @@ -69,12 +80,6 @@ cd - >/dev/null || abort #echo ; echo ${db_update_scripts_after[@]} echo "=> Fait" - - -# ---------------------------------------- -# 2) (Optionnel) Mise a jour de la BD -# (seulement s'il y a au moins 1 nouveau script db-update-YYYY-MM-DD.sh dans database/update/) -# ---------------------------------------- db_update_scripts_new=$( echo ${db_update_scripts_before[@]} ${db_update_scripts_after[@]} | tr ' ' '\n' | sort | uniq -u ) || abort #temp=() ; for t in ${db_update_scripts_new[@]} ; do temp+=($t) ; done ; temp+=('toto') ; db_update_scripts_new=$temp #echo ${#db_update_scripts_new[@]} ; echo ${db_update_scripts_new[@]} @@ -83,6 +88,13 @@ db_update_scripts_new=$( echo ${db_update_scripts_before[@]} ${db_update_scripts #nb_scripts=${#db_update_scripts_new[@]} #[[ $nb_scripts == 0 ]] && exit 0 + + +# ---------------------------------------- +# 3) (Optionnel) Mise a jour de la BD +# (seulement s'il y a au moins 1 nouveau script db-update-YYYY-MM-DD.sh dans database/update/) +# ---------------------------------------- + echo echo "* Mise à jour de la Base de Données :" echo "Voici le(s) script(s) à exécuter :" diff --git a/src/Model/Table/LdapConnectionsTable.php b/src/Model/Table/LdapConnectionsTable.php index e471402..6c68e79 100755 --- a/src/Model/Table/LdapConnectionsTable.php +++ b/src/Model/Table/LdapConnectionsTable.php @@ -396,6 +396,10 @@ class LdapConnectionsTable extends AppTable // LDAP optimized (cached) if ($this->CONF->ldap_cached) { + //TODO: + // Les 3 types de LDAP (cache, real, et fake) doivent etre 3 objets ayant exactement les MEMES methodes + // Par defaut, $this-> doit pointer vers le REAL ldap, les 2 autres sont accessibles via $this->cache-> et $this->fake-> + // $this->cache->_getAllLdapUsers(); // envoyés directement dans le bon format $users_fetched = $this->_getAllLdapUsersFromDB(); $users_fetched = $this->_getDBusersFormattedAsLDAP($users_fetched); } @@ -403,6 +407,9 @@ class LdapConnectionsTable extends AppTable // LDAP direct (no optimization) else { try { + //TODO: + // $from = $this->LDAP_USED ? $this : $this->fake + // return $from->_getllLdapUsers(); $users_fetched = $this->_getAllLdapUsersFromLDAP(); // Noter que $user_fetched peut etre egal a FALSE (si rien trouvé) //return $users_fetched; -- libgit2 0.21.2