Commit c7dcac63f25ac85a2864dfe3fa5b4b4f2e482dd9
1 parent
a938d08e
Exists in
master
and in
1 other branch
Mise à jour script de création COMPLET de la BD (structure)
- et aussi Mise à jour (cleanup) du script d'installation du projet - A tester : install from scratch v4.107.25-3.7.9
Showing
17 changed files
with
379 additions
and
230 deletions
Show diff stats
CHANGES.txt
... | ... | @@ -158,7 +158,7 @@ Modif d’une fiche materiel ne doit pas refaire une commande !!! |
158 | 158 | |
159 | 159 | - Update VM |
160 | 160 | |
161 | -- lire article juridique | |
161 | + | |
162 | 162 | |
163 | 163 | - check add by copy |
164 | 164 | |
... | ... | @@ -184,50 +184,35 @@ cakephp 3.9 |
184 | 184 | |
185 | 185 | cake crud + view |
186 | 186 | |
187 | +Install DOCKER | |
187 | 188 | |
189 | +Install WSL2 sur pc | |
188 | 190 | |
189 | 191 | |
190 | -======= TODO2 - URGENT ======= | |
191 | - | |
192 | -- Adapter règles "nouveau suivi" | |
193 | - | |
194 | - | |
195 | -- lot1 toujours obligatoire (en dur dans Table), LOT2 = ssi status > CREATED (géré via soft dans add_edit(), la vue ne doit rien gérer du tout !) | |
196 | - | |
197 | - | |
198 | -- technique/admin inutile | |
199 | 192 | |
200 | 193 | |
201 | -- Gestionnaire de ref : + “Je ne sais pas” | |
194 | +- Adapter règles "nouveau suivi" | |
202 | 195 | |
196 | +======= TODO2 - URGENT ======= | |
203 | 197 | |
204 | -Install titreuse Carole | |
205 | 198 | |
206 | -DB complète à mettre à jour | |
207 | 199 | |
208 | -- (MT) Install locale, puis répondre stagiaire | |
209 | 200 | |
210 | -- install GEPI | |
211 | 201 | |
212 | 202 | - déclarer etiquette collée => supprimer ? |
213 | 203 | |
214 | -- Commande directe ou seulement pour inventaire : "Enregistrer & Commander" et "Enregistrer seulement" | |
215 | - | |
216 | -- Infos obligatoires LOT1 | |
217 | 204 | |
218 | -- Supprimer un CREATED + Annuler cde + tobeordered=true + edit possible | |
219 | - | |
220 | -- Validation (LOT2 obligatoire) + invalider + edit LOT2 | |
221 | 205 | |
222 | 206 | ADMIN Dernier modificateur = Gestionnaire de ref. |
223 | 207 | |
224 | 208 | Ancien seuil 800€ doit rester valable pour anciens matos |
225 | 209 | |
226 | -Partager les imprimantes de Jean-Louis (pour Roche) et Carole (pour Belin) | |
210 | + | |
227 | 211 | |
228 | 212 | Responsable = groupe métier, ou projet, ou pôle (PIME), MAIS PAS thématique |
229 | 213 | |
230 | -Bug groupe thématique dans groupe metier sur fiche materiel (+ virer “code comptable” et changer le nom des champs eotp, ajouter ligne budgétaire…) | |
214 | +Bug groupe thématique dans groupe metier sur fiche materiel | |
215 | +(+ virer “code comptable” et changer le nom des champs eotp, ajouter ligne budgétaire…) | |
231 | 216 | |
232 | 217 | Procédure accueil : |
233 | 218 | >=10K obligatoire (inventaire comptable) |
... | ... | @@ -244,21 +229,20 @@ A commander sur le(s) budget(s) : |
244 | 229 | Devis en pièce jointe |
245 | 230 | |
246 | 231 | |
247 | -GEPI (Laurence) | |
248 | 232 | |
249 | 233 | Nouvelle fiche matos : |
250 | 234 | Bouton “Commander” |
251 | 235 | => Si ADMIN, devient “Enregistrer” (et pas de mail envoyé) |
252 | 236 | Menu Matos/Nouveau materiel => ADMIN only |
253 | 237 | |
254 | -Commander etiqueteuses | |
238 | + | |
255 | 239 | |
256 | 240 | |
257 | 241 | Bugfix : un profil Utilisateur ne doit pas pouvoir changer l’acheteur (acheteur = lui) !!! |
258 | 242 | |
259 | -User = Acheteur | |
260 | 243 | |
261 | -Modif possible sans devoir dévalider/revalider | |
244 | + | |
245 | + | |
262 | 246 | |
263 | 247 | Outils : voir/gérer ? |
264 | 248 | |
... | ... | @@ -277,32 +261,58 @@ Voir Mes matériels (que j’ai achetés) |
277 | 261 | Voir les Matériels que j’utilise (find sur champ utilisateur) |
278 | 262 | (admin) Voir Matériels à commander (tous les TOBEORDERED qui sont à mon nom de gestionnaire ET qui ont (date-cde null OU num-BC null) |
279 | 263 | (admin) “Voir toutes les commandes en cours” |
280 | -(admin) “Voir les matériels ‘zombie’” (materiels CREATED depuis longtemps, et toujours pas ORDERED => sans doute à virer (pour ne pas fausser les stats...) | |
264 | +(admin) “Voir les matériels ‘zombie’” (materiels CREATED depuis longtemps, et toujours pas ORDERED ou VALIDATED => sans doute à virer (pour ne pas fausser les stats...) | |
281 | 265 | (admin) Voir matos à archiver |
282 | 266 | |
283 | 267 | |
284 | 268 | |
285 | -TAG version 3.7.9 finale ANCIEN workflow | |
286 | 269 | |
287 | 270 | |
288 | -Install DCD sur postes : | |
271 | + | |
272 | + | |
273 | + | |
274 | + | |
275 | +======= TODO1 - BUGFIXES (ou TRES URGENT) ======= | |
276 | + | |
277 | +- (MT) Install locale, puis répondre stagiaire | |
278 | + | |
279 | +DB complète à mettre à jour | |
280 | +- install GEPI | |
281 | + | |
282 | +User = Acheteur | |
283 | + | |
284 | +(Elodie) Install DCD sur postes : | |
285 | +- Carole (+titreuse) | |
289 | 286 | - Marjorie et Dorine en premier lieu. |
290 | 287 | - Quand elles reviendront : Nathalie et Joëlle. |
288 | +- Partager les imprimantes de Jean-Louis (pour Roche) et Carole (pour Belin) | |
291 | 289 | |
292 | -Install DOCKER | |
293 | 290 | |
294 | -Install WSL2 sur pc | |
291 | +TAG version 3.7.9 finale ANCIEN workflow | |
295 | 292 | |
293 | +- technique/admin inutile | |
296 | 294 | |
297 | -======= TODO1 - BUGFIXES (TRES URGENT) ======= | |
298 | 295 | |
296 | +Commencer à implémenter le nouveau workflow v5 : | |
297 | +- Gestionnaire de ref : + “Je ne sais pas” | |
298 | +- lot1 toujours obligatoire (en dur dans Table), LOT2 = ssi status > CREATED (géré via soft dans add_edit(), la vue ne doit rien gérer du tout !) | |
299 | +- Infos obligatoires LOT1 | |
300 | +- Commande directe ou seulement pour inventaire : "Enregistrer & Commander" et "Enregistrer seulement" | |
301 | +- Supprimer un CREATED + Annuler cde + tobeordered=true + edit possible | |
302 | +- Validation (LOT2 obligatoire) + invalider + edit LOT2 | |
299 | 303 | |
300 | 304 | |
301 | 305 | |
302 | 306 | ======= CHANGES ======= |
303 | 307 | |
304 | 308 | ------- |
305 | -30/11/2020 v4.107.24-3.7.9 | |
309 | +01/12/2020 v4.107.25-3.7.9 (total projet : 357367 lignes) | |
310 | + - Mise à jour (update et cleanup) du script de création COMPLET de la BD (structure) | |
311 | + - Mise à jour (cleanup) du script d'installation du projet | |
312 | + - A tester : install from scratch | |
313 | + | |
314 | +------- | |
315 | +30/11/2020 v4.107.24-3.7.9 (total projet : 357367 lignes) | |
306 | 316 | - (b) Bugfix Recherche matériels : bug sur tri par numéro d'inventaire |
307 | 317 | - (i) Gros ménage fait dans la doc technique, séparation en 3 documentations : |
308 | 318 | => 1) Installation | ... | ... |
README.md
... | ... | @@ -52,8 +52,8 @@ Logiciel testé et validé sur les configurations suivantes : |
52 | 52 | |
53 | 53 | -------------------------------------------------------------------------------------------- |
54 | 54 | |
55 | -Date: 30/11/2020 | |
56 | -Version: 4.107.24-3.7.9 | |
55 | +Date: 01/12/2020 | |
56 | +Version: 4.107.25-3.7.9 | |
57 | 57 | |
58 | 58 | |
59 | 59 | HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) | ... | ... |
database/create_database.sql renamed to database/DB1_create_database_and_users.sql
... | ... | @@ -62,3 +62,11 @@ flush privileges; |
62 | 62 | /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; |
63 | 63 | /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; |
64 | 64 | /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; |
65 | + | |
66 | + | |
67 | + | |
68 | +USE _mydb_; | |
69 | + | |
70 | +-- Est-ce bien utile ? | |
71 | +SET FOREIGN_KEY_CHECKS = 0; | |
72 | + | ... | ... |
database/create_tables.sql renamed to database/DB2_create_tables.sql
1 | 1 | |
2 | -USE _mydb_; | |
2 | +-- -------------------------------------------------------- | |
3 | + | |
4 | +-- (EP 01/12/2020) | |
5 | +-- DUMP FAIT A PARTIR DE PHPMYADMIN (EP) : | |
6 | +-- Il faut seulement la STRUCTURE (COCHER la colonne "Structure" et DÉCOCHER la colonne "Données") | |
7 | +-- Tout en bas, COCHER "Ajouter une instruction DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER" | |
8 | +-- ("pour avoir des drop if exists") | |
9 | +-- Enfin, DÉCOCHER tout en bas "Entourer les noms des tables et des colonnes par des guillemets" | |
10 | +-- (Les data minimum par défaut sont insérées ensuite via le script DB3_insert_tables_default_mandatory_data.sql) | |
11 | + | |
12 | +-- ATTENTION, il faut quand meme ajouter 2 choses tout a la fin de ce fichier : | |
13 | +-- 1) S'il est absent, ajouter le commit transaction | |
14 | +-- COMMIT; | |
15 | +-- 2) Je ne sais pas si c'est absolument utile ou pas... | |
16 | +-- autocommit pour la suite (insert data) | |
17 | +-- SET AUTOCOMMIT = 1; | |
18 | + | |
19 | +-- (Voir la fin de ce fichier) | |
20 | + | |
21 | +-- -------------------------------------------------------- | |
3 | 22 | |
4 | --- Est-ce bien utile ? | |
5 | -SET FOREIGN_KEY_CHECKS = 0; | |
6 | 23 | |
7 | 24 | |
8 | 25 | |
9 | 26 | |
10 | 27 | |
11 | --- -------------------------------------------------------- | |
12 | --- (EP 12/06/19) | |
13 | --- DUMP FAIT A PARTIR DE PHPMYADMIN (EP) - STRUCTURE ONLY, NO INSERT DATA | |
14 | --- (Les data minimum par défaut sont insérées ensuite via le script insert_tables_default_data_general.sql) | |
15 | --- -------------------------------------------------------- | |
16 | 28 | |
17 | 29 | -- phpMyAdmin SQL Dump |
18 | 30 | -- version 4.8.4 |
19 | 31 | -- https://www.phpmyadmin.net/ |
20 | 32 | -- |
21 | 33 | -- Hôte : 127.0.0.1 |
22 | --- Généré le : mer. 12 juin 2019 à 16:08 | |
23 | --- Version du serveur : 10.3.12-MariaDB | |
24 | --- Version de PHP : 7.3.1 | |
34 | +-- Généré le : mar. 01 déc. 2020 à 16:12 | |
35 | +-- Version du serveur : 10.5.6-MariaDB | |
36 | +-- Version de PHP : 7.2.33 | |
25 | 37 | |
26 | 38 | SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; |
27 | -SET time_zone = "+00:00"; | |
28 | 39 | SET AUTOCOMMIT = 0; |
29 | 40 | START TRANSACTION; |
41 | +SET time_zone = "+00:00"; | |
42 | + | |
43 | + | |
44 | +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; | |
45 | +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; | |
46 | +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; | |
47 | +/*!40101 SET NAMES utf8mb4 */; | |
30 | 48 | |
31 | 49 | -- |
32 | 50 | -- Base de données : labinvent |
... | ... | @@ -42,6 +60,7 @@ DROP TABLE IF EXISTS categories; |
42 | 60 | CREATE TABLE categories ( |
43 | 61 | id int(11) NOT NULL, |
44 | 62 | nom varchar(45) NOT NULL COMMENT 'obligatoire (et unique)', |
63 | + description text DEFAULT NULL, | |
45 | 64 | sur_categorie_id int(11) NOT NULL |
46 | 65 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
47 | 66 | |
... | ... | @@ -57,6 +76,7 @@ CREATE TABLE configurations ( |
57 | 76 | nom varchar(45) NOT NULL COMMENT 'obligatoire (et unique)', |
58 | 77 | mode_install tinyint(1) DEFAULT 1, |
59 | 78 | mode_debug tinyint(1) DEFAULT 0, |
79 | + mode_nolimit tinyint(1) NOT NULL DEFAULT 0 COMMENT 'superadmin a tous les droits', | |
60 | 80 | labNameShort varchar(10) DEFAULT NULL, |
61 | 81 | labPresent varchar(10) DEFAULT NULL, |
62 | 82 | labUmr varchar(30) DEFAULT NULL, |
... | ... | @@ -101,7 +121,6 @@ CREATE TABLE configurations ( |
101 | 121 | ldap_cache_validity_duration int(11) NOT NULL DEFAULT 60 |
102 | 122 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
103 | 123 | |
104 | - | |
105 | 124 | -- -------------------------------------------------------- |
106 | 125 | |
107 | 126 | -- |
... | ... | @@ -129,6 +148,7 @@ CREATE TABLE documents ( |
129 | 148 | DROP TABLE IF EXISTS emprunts; |
130 | 149 | CREATE TABLE emprunts ( |
131 | 150 | id int(11) NOT NULL, |
151 | + nom varchar(45) DEFAULT NULL, | |
132 | 152 | materiel_id int(11) NOT NULL, |
133 | 153 | date_emprunt date DEFAULT NULL, |
134 | 154 | date_retour_emprunt date DEFAULT NULL, |
... | ... | @@ -222,7 +242,8 @@ CREATE TABLE formules ( |
222 | 242 | DROP TABLE IF EXISTS fournisseurs; |
223 | 243 | CREATE TABLE fournisseurs ( |
224 | 244 | id int(11) NOT NULL, |
225 | - nom varchar(45) DEFAULT NULL | |
245 | + nom varchar(45) DEFAULT NULL, | |
246 | + description text DEFAULT NULL | |
226 | 247 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
227 | 248 | |
228 | 249 | -- -------------------------------------------------------- |
... | ... | @@ -235,7 +256,7 @@ DROP TABLE IF EXISTS groupes_metiers; |
235 | 256 | CREATE TABLE groupes_metiers ( |
236 | 257 | id int(11) NOT NULL, |
237 | 258 | nom varchar(45) DEFAULT NULL, |
238 | - description varchar(100) DEFAULT NULL | |
259 | + description text DEFAULT NULL | |
239 | 260 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
240 | 261 | |
241 | 262 | -- -------------------------------------------------------- |
... | ... | @@ -248,7 +269,7 @@ DROP TABLE IF EXISTS groupes_thematiques; |
248 | 269 | CREATE TABLE groupes_thematiques ( |
249 | 270 | id int(11) NOT NULL, |
250 | 271 | nom varchar(45) DEFAULT NULL, |
251 | - description varchar(100) DEFAULT NULL | |
272 | + description text DEFAULT NULL | |
252 | 273 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
253 | 274 | |
254 | 275 | -- -------------------------------------------------------- |
... | ... | @@ -261,6 +282,7 @@ DROP TABLE IF EXISTS materiels; |
261 | 282 | CREATE TABLE materiels ( |
262 | 283 | id int(11) NOT NULL, |
263 | 284 | designation varchar(50) DEFAULT NULL, |
285 | + will_stay tinyint(1) NOT NULL DEFAULT 1 COMMENT 'ce materiel restera au labo ?', | |
264 | 286 | sur_categorie_id int(11) DEFAULT NULL, |
265 | 287 | categorie_id int(11) DEFAULT NULL, |
266 | 288 | sous_categorie_id int(11) DEFAULT NULL, |
... | ... | @@ -269,19 +291,22 @@ CREATE TABLE materiels ( |
269 | 291 | materiel_administratif tinyint(1) DEFAULT NULL, |
270 | 292 | materiel_technique tinyint(1) DEFAULT NULL, |
271 | 293 | status varchar(15) DEFAULT 'CREATED', |
294 | + date_validated date DEFAULT NULL, | |
295 | + date_archived date DEFAULT NULL, | |
272 | 296 | date_acquisition date DEFAULT NULL, |
273 | - prix_ht float UNSIGNED DEFAULT NULL, | |
297 | + prix_ht decimal(13,2) DEFAULT NULL, | |
274 | 298 | eotp varchar(45) DEFAULT NULL, |
275 | 299 | numero_commande varchar(45) DEFAULT NULL, |
276 | 300 | code_comptable varchar(45) DEFAULT NULL, |
277 | 301 | numero_serie varchar(45) DEFAULT NULL, |
278 | 302 | groupes_thematique_id int(11) DEFAULT NULL, |
279 | 303 | groupes_metier_id int(11) DEFAULT NULL, |
304 | + projet_id int(11) DEFAULT NULL, | |
280 | 305 | numero_inventaire_organisme varchar(45) DEFAULT NULL, |
281 | 306 | numero_inventaire_old varchar(45) DEFAULT NULL COMMENT 'Ancien numero inventaire', |
282 | - date_archivage date DEFAULT NULL, | |
283 | 307 | etiquette tinyint(1) DEFAULT 0 COMMENT 'etiquette sur materiel oui ou non', |
284 | 308 | lieu_detail varchar(45) DEFAULT NULL, |
309 | + nom_user varchar(45) DEFAULT NULL COMMENT 'Le destinataire utilisateur du matos', | |
285 | 310 | nom_responsable varchar(45) DEFAULT NULL, |
286 | 311 | email_responsable varchar(45) DEFAULT NULL, |
287 | 312 | gestionnaire_id int(11) DEFAULT NULL, |
... | ... | @@ -291,7 +316,7 @@ CREATE TABLE materiels ( |
291 | 316 | modified datetime DEFAULT NULL COMMENT 'date et heure de modif de la fiche', |
292 | 317 | date_reception date DEFAULT NULL, |
293 | 318 | organisme_id int(11) DEFAULT NULL, |
294 | - site_id int(11) DEFAULT 2, | |
319 | + site_id int(11) DEFAULT NULL, | |
295 | 320 | date_fin_garantie date DEFAULT NULL, |
296 | 321 | duree_garantie int(10) DEFAULT NULL, |
297 | 322 | unite_duree_garantie varchar(30) DEFAULT NULL, |
... | ... | @@ -324,7 +349,8 @@ CREATE TABLE mesures ( |
324 | 349 | DROP TABLE IF EXISTS organismes; |
325 | 350 | CREATE TABLE organismes ( |
326 | 351 | id int(11) NOT NULL, |
327 | - nom varchar(50) DEFAULT NULL | |
352 | + nom varchar(50) DEFAULT NULL, | |
353 | + description text DEFAULT NULL | |
328 | 354 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
329 | 355 | |
330 | 356 | -- -------------------------------------------------------- |
... | ... | @@ -345,13 +371,32 @@ CREATE TABLE phinxlog ( |
345 | 371 | -- -------------------------------------------------------- |
346 | 372 | |
347 | 373 | -- |
374 | +-- Structure de la table projets | |
375 | +-- | |
376 | + | |
377 | +DROP TABLE IF EXISTS projets; | |
378 | +CREATE TABLE projets ( | |
379 | + id int(11) NOT NULL, | |
380 | + nom varchar(45) NOT NULL, | |
381 | + description text DEFAULT NULL, | |
382 | + groupes_thematique_id int(11) DEFAULT NULL, | |
383 | + chef_science_id int(11) DEFAULT NULL, | |
384 | + chef_projet_id int(11) DEFAULT NULL, | |
385 | + date_start date DEFAULT NULL, | |
386 | + date_stop date DEFAULT NULL | |
387 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1; | |
388 | + | |
389 | +-- -------------------------------------------------------- | |
390 | + | |
391 | +-- | |
348 | 392 | -- Structure de la table sites |
349 | 393 | -- |
350 | 394 | |
351 | 395 | DROP TABLE IF EXISTS sites; |
352 | 396 | CREATE TABLE sites ( |
353 | 397 | id int(11) NOT NULL, |
354 | - nom varchar(50) DEFAULT NULL | |
398 | + nom varchar(50) DEFAULT NULL, | |
399 | + description text DEFAULT NULL | |
355 | 400 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
356 | 401 | |
357 | 402 | -- -------------------------------------------------------- |
... | ... | @@ -364,12 +409,30 @@ DROP TABLE IF EXISTS sous_categories; |
364 | 409 | CREATE TABLE sous_categories ( |
365 | 410 | id int(11) NOT NULL, |
366 | 411 | nom varchar(45) NOT NULL, |
412 | + description text DEFAULT NULL, | |
367 | 413 | categorie_id int(11) NOT NULL |
368 | 414 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
369 | 415 | |
370 | 416 | -- -------------------------------------------------------- |
371 | 417 | |
372 | 418 | -- |
419 | +-- Structure de la table stats | |
420 | +-- | |
421 | + | |
422 | +DROP TABLE IF EXISTS stats; | |
423 | +CREATE TABLE stats ( | |
424 | + year year(4) NOT NULL, | |
425 | + user_id int(11) NOT NULL, | |
426 | + last_login_time datetime DEFAULT NULL, | |
427 | + last_connex_dur int(11) NOT NULL DEFAULT 0 COMMENT 'Temps de connexion de la derniere session', | |
428 | + last_logout_time datetime DEFAULT NULL, | |
429 | + connex_nb int(11) NOT NULL DEFAULT 0 COMMENT 'nb connexions sur l''année', | |
430 | + connex_dur_tot int(11) NOT NULL DEFAULT 0 COMMENT 'Total temps connexion cumulé sur année (sec)' | |
431 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Statistiques de connexion des utilisateurs'; | |
432 | + | |
433 | +-- -------------------------------------------------------- | |
434 | + | |
435 | +-- | |
373 | 436 | -- Structure de la table suivis |
374 | 437 | -- |
375 | 438 | |
... | ... | @@ -381,7 +444,7 @@ CREATE TABLE suivis ( |
381 | 444 | date_prochain_controle date DEFAULT NULL, |
382 | 445 | organisme varchar(50) DEFAULT NULL, |
383 | 446 | frequence int(11) DEFAULT NULL, |
384 | - commentaire varchar(100) DEFAULT NULL, | |
447 | + commentaire text DEFAULT NULL, | |
385 | 448 | nom_createur varchar(45) DEFAULT NULL COMMENT 'nom du createur de la fiche', |
386 | 449 | nom_modificateur varchar(45) DEFAULT NULL COMMENT 'nom du modificateur de la fiche', |
387 | 450 | created datetime DEFAULT NULL COMMENT 'date et heure de creation de la fiche', |
... | ... | @@ -402,7 +465,7 @@ CREATE TABLE suivis ( |
402 | 465 | intitule varchar(100) DEFAULT NULL, |
403 | 466 | conforme varchar(100) DEFAULT NULL, |
404 | 467 | formule_id int(11) DEFAULT NULL, |
405 | - type_suivi_id int(11) DEFAULT NULL, | |
468 | + type_suivi_id int(11) NOT NULL DEFAULT 1, | |
406 | 469 | type_frequence varchar(30) DEFAULT NULL, |
407 | 470 | panne_resolu tinyint(1) DEFAULT 1, |
408 | 471 | groupes_metier_id int(11) DEFAULT NULL, |
... | ... | @@ -419,7 +482,8 @@ CREATE TABLE suivis ( |
419 | 482 | DROP TABLE IF EXISTS sur_categories; |
420 | 483 | CREATE TABLE sur_categories ( |
421 | 484 | id int(11) NOT NULL, |
422 | - nom varchar(45) NOT NULL | |
485 | + nom varchar(45) NOT NULL, | |
486 | + description text DEFAULT NULL | |
423 | 487 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
424 | 488 | |
425 | 489 | -- -------------------------------------------------------- |
... | ... | @@ -431,10 +495,10 @@ CREATE TABLE sur_categories ( |
431 | 495 | DROP TABLE IF EXISTS type_documents; |
432 | 496 | CREATE TABLE type_documents ( |
433 | 497 | id int(11) NOT NULL, |
434 | - nom varchar(100) DEFAULT NULL | |
498 | + nom varchar(100) DEFAULT NULL, | |
499 | + description text DEFAULT NULL | |
435 | 500 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
436 | 501 | |
437 | - | |
438 | 502 | -- -------------------------------------------------------- |
439 | 503 | |
440 | 504 | -- |
... | ... | @@ -444,7 +508,10 @@ CREATE TABLE type_documents ( |
444 | 508 | DROP TABLE IF EXISTS type_suivis; |
445 | 509 | CREATE TABLE type_suivis ( |
446 | 510 | id int(11) NOT NULL, |
447 | - nom varchar(50) DEFAULT NULL | |
511 | + nom varchar(50) DEFAULT NULL, | |
512 | + description text DEFAULT NULL, | |
513 | + is_regular tinyint(1) NOT NULL DEFAULT 0 COMMENT 'suivi de type régulier (avec fréquence et non pas date)', | |
514 | + is_metro tinyint(1) NOT NULL DEFAULT 0 COMMENT 'type de suivi lié au module métrologie' | |
448 | 515 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
449 | 516 | |
450 | 517 | -- -------------------------------------------------------- |
... | ... | @@ -476,8 +543,10 @@ CREATE TABLE users ( |
476 | 543 | email varchar(45) DEFAULT NULL, |
477 | 544 | role varchar(45) DEFAULT NULL, |
478 | 545 | groupes_metier_id int(11) DEFAULT NULL, |
546 | + is_resp_groupes_metier tinyint(1) NOT NULL DEFAULT 0 COMMENT 'responsable du groupe metier o/n', | |
479 | 547 | password varchar(255) DEFAULT '$2y$10$nBQMNstgN.sgad1ZANznY.pbJI.ZG/.Q5qX4gC8SXCFQnDIZC8rcW', |
480 | - groupe_thematique_id int(11) DEFAULT NULL, | |
548 | + groupes_thematique_id int(11) DEFAULT NULL, | |
549 | + is_resp_groupes_thematique tinyint(1) NOT NULL DEFAULT 0 COMMENT 'responsable du groupe thematique o/n', | |
481 | 550 | sur_categorie_id int(11) DEFAULT NULL |
482 | 551 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
483 | 552 | |
... | ... | @@ -538,7 +607,8 @@ ALTER TABLE emprunts |
538 | 607 | -- Index pour la table fakeldapusers |
539 | 608 | -- |
540 | 609 | ALTER TABLE fakeldapusers |
541 | - ADD PRIMARY KEY (id); | |
610 | + ADD PRIMARY KEY (id), | |
611 | + ADD UNIQUE KEY uid (uid); | |
542 | 612 | |
543 | 613 | -- |
544 | 614 | -- Index pour la table fichemetrologiques |
... | ... | @@ -564,13 +634,15 @@ ALTER TABLE fournisseurs |
564 | 634 | -- Index pour la table groupes_metiers |
565 | 635 | -- |
566 | 636 | ALTER TABLE groupes_metiers |
567 | - ADD PRIMARY KEY (id); | |
637 | + ADD PRIMARY KEY (id), | |
638 | + ADD UNIQUE KEY index_groupes_metiers_nom_unique (nom); | |
568 | 639 | |
569 | 640 | -- |
570 | 641 | -- Index pour la table groupes_thematiques |
571 | 642 | -- |
572 | 643 | ALTER TABLE groupes_thematiques |
573 | - ADD PRIMARY KEY (id); | |
644 | + ADD PRIMARY KEY (id), | |
645 | + ADD UNIQUE KEY index_groupes_thematiques_nom_unique (nom); | |
574 | 646 | |
575 | 647 | -- |
576 | 648 | -- Index pour la table materiels |
... | ... | @@ -579,13 +651,14 @@ ALTER TABLE materiels |
579 | 651 | ADD PRIMARY KEY (id), |
580 | 652 | ADD UNIQUE KEY numero_irap (numero_laboratoire), |
581 | 653 | ADD KEY fk_administrative_materials_sub_categories1 (sous_categorie_id), |
582 | - ADD KEY fk_materials_thematic_group1 (groupes_thematique_id), | |
583 | - ADD KEY fk_materials_work_group1 (groupes_metier_id), | |
584 | 654 | ADD KEY fk_materiels_categories1 (categorie_id), |
585 | - ADD KEY fk_materiels_sur_categorie_id (sur_categorie_id), | |
586 | 655 | ADD KEY fk_materiels_organisme_id (organisme_id), |
587 | 656 | ADD KEY fk_materiels_site_id (site_id), |
588 | 657 | ADD KEY fk_materiels_fournisseurs_id_idx (fournisseur_id), |
658 | + ADD KEY fk_materiels_projet_id (projet_id), | |
659 | + ADD KEY fk_materiels_sur_categorie_id (sur_categorie_id), | |
660 | + ADD KEY fk_materials_thematic_group1 (groupes_thematique_id), | |
661 | + ADD KEY fk_materials_work_group1 (groupes_metier_id), | |
589 | 662 | ADD KEY fk_materiels_gestionnaire_id (gestionnaire_id); |
590 | 663 | |
591 | 664 | -- |
... | ... | @@ -599,7 +672,8 @@ ALTER TABLE mesures |
599 | 672 | -- Index pour la table organismes |
600 | 673 | -- |
601 | 674 | ALTER TABLE organismes |
602 | - ADD PRIMARY KEY (id); | |
675 | + ADD PRIMARY KEY (id), | |
676 | + ADD UNIQUE KEY index_organismes_nom_unique (nom); | |
603 | 677 | |
604 | 678 | -- |
605 | 679 | -- Index pour la table phinxlog |
... | ... | @@ -608,10 +682,19 @@ ALTER TABLE phinxlog |
608 | 682 | ADD PRIMARY KEY (version); |
609 | 683 | |
610 | 684 | -- |
685 | +-- Index pour la table projets | |
686 | +-- | |
687 | +ALTER TABLE projets | |
688 | + ADD PRIMARY KEY (id), | |
689 | + ADD UNIQUE KEY nom (nom), | |
690 | + ADD KEY fk_projets_groupes_thematique_id (groupes_thematique_id); | |
691 | + | |
692 | +-- | |
611 | 693 | -- Index pour la table sites |
612 | 694 | -- |
613 | 695 | ALTER TABLE sites |
614 | - ADD PRIMARY KEY (id); | |
696 | + ADD PRIMARY KEY (id), | |
697 | + ADD UNIQUE KEY nom (nom); | |
615 | 698 | |
616 | 699 | -- |
617 | 700 | -- Index pour la table sous_categories |
... | ... | @@ -621,6 +704,14 @@ ALTER TABLE sous_categories |
621 | 704 | ADD KEY category_id (categorie_id); |
622 | 705 | |
623 | 706 | -- |
707 | +-- Index pour la table stats | |
708 | +-- | |
709 | +ALTER TABLE stats | |
710 | + ADD PRIMARY KEY (year,user_id), | |
711 | + ADD KEY fk_stats_users (user_id), | |
712 | + ADD KEY index_stats_year (year); | |
713 | + | |
714 | +-- | |
624 | 715 | -- Index pour la table suivis |
625 | 716 | -- |
626 | 717 | ALTER TABLE suivis |
... | ... | @@ -643,13 +734,15 @@ ALTER TABLE sur_categories |
643 | 734 | -- Index pour la table type_documents |
644 | 735 | -- |
645 | 736 | ALTER TABLE type_documents |
646 | - ADD PRIMARY KEY (id); | |
737 | + ADD PRIMARY KEY (id), | |
738 | + ADD UNIQUE KEY index_type_documents_nom_unique (nom) USING BTREE; | |
647 | 739 | |
648 | 740 | -- |
649 | 741 | -- Index pour la table type_suivis |
650 | 742 | -- |
651 | 743 | ALTER TABLE type_suivis |
652 | - ADD PRIMARY KEY (id); | |
744 | + ADD PRIMARY KEY (id), | |
745 | + ADD UNIQUE KEY nom (nom); | |
653 | 746 | |
654 | 747 | -- |
655 | 748 | -- Index pour la table unites |
... | ... | @@ -662,9 +755,10 @@ ALTER TABLE unites |
662 | 755 | -- |
663 | 756 | ALTER TABLE users |
664 | 757 | ADD PRIMARY KEY (id), |
665 | - ADD KEY fk_users_groupes_travails1 (groupes_metier_id), | |
666 | - ADD KEY fk_users_groupe_thematique_id (groupe_thematique_id), | |
667 | - ADD KEY fk_users_sur_categories_id_idx (sur_categorie_id); | |
758 | + ADD UNIQUE KEY username (username), | |
759 | + ADD UNIQUE KEY nom (nom), | |
760 | + ADD KEY fk_users_sur_categories_id_idx (sur_categorie_id), | |
761 | + ADD KEY fk_users_groupe_thematique_id (groupes_thematique_id); | |
668 | 762 | |
669 | 763 | -- |
670 | 764 | -- Index pour la table `variables` |
... | ... | @@ -687,7 +781,7 @@ ALTER TABLE categories |
687 | 781 | -- AUTO_INCREMENT pour la table configurations |
688 | 782 | -- |
689 | 783 | ALTER TABLE configurations |
690 | - MODIFY id int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; | |
784 | + MODIFY id int(11) NOT NULL AUTO_INCREMENT; | |
691 | 785 | |
692 | 786 | -- |
693 | 787 | -- AUTO_INCREMENT pour la table documents |
... | ... | @@ -756,6 +850,12 @@ ALTER TABLE organismes |
756 | 850 | MODIFY id int(11) NOT NULL AUTO_INCREMENT; |
757 | 851 | |
758 | 852 | -- |
853 | +-- AUTO_INCREMENT pour la table projets | |
854 | +-- | |
855 | +ALTER TABLE projets | |
856 | + MODIFY id int(11) NOT NULL AUTO_INCREMENT; | |
857 | + | |
858 | +-- | |
759 | 859 | -- AUTO_INCREMENT pour la table sites |
760 | 860 | -- |
761 | 861 | ALTER TABLE sites |
... | ... | @@ -783,7 +883,7 @@ ALTER TABLE sur_categories |
783 | 883 | -- AUTO_INCREMENT pour la table type_documents |
784 | 884 | -- |
785 | 885 | ALTER TABLE type_documents |
786 | - MODIFY id int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=14; | |
886 | + MODIFY id int(11) NOT NULL AUTO_INCREMENT; | |
787 | 887 | |
788 | 888 | -- |
789 | 889 | -- AUTO_INCREMENT pour la table type_suivis |
... | ... | @@ -843,18 +943,31 @@ ALTER TABLE materiels |
843 | 943 | ADD CONSTRAINT fk_materials_work_group1 FOREIGN KEY (groupes_metier_id) REFERENCES groupes_metiers (id) ON DELETE NO ACTION ON UPDATE NO ACTION, |
844 | 944 | ADD CONSTRAINT fk_materiels_categories1 FOREIGN KEY (categorie_id) REFERENCES categories (id) ON DELETE NO ACTION ON UPDATE NO ACTION, |
845 | 945 | ADD CONSTRAINT fk_materiels_fournisseurs_id FOREIGN KEY (fournisseur_id) REFERENCES fournisseurs (id) ON DELETE NO ACTION ON UPDATE NO ACTION, |
846 | - ADD CONSTRAINT fk_materiels_gestionnaire_id FOREIGN KEY (gestionnaire_id) REFERENCES `users` (id) ON DELETE SET NULL ON UPDATE NO ACTION, | |
946 | + ADD CONSTRAINT fk_materiels_gestionnaire_id FOREIGN KEY (gestionnaire_id) REFERENCES `users` (id) ON DELETE NO ACTION ON UPDATE NO ACTION, | |
847 | 947 | ADD CONSTRAINT fk_materiels_organisme_id FOREIGN KEY (organisme_id) REFERENCES organismes (id) ON DELETE NO ACTION ON UPDATE NO ACTION, |
948 | + ADD CONSTRAINT fk_materiels_projet_id FOREIGN KEY (projet_id) REFERENCES projets (id) ON DELETE SET NULL, | |
848 | 949 | ADD CONSTRAINT fk_materiels_site_id FOREIGN KEY (site_id) REFERENCES sites (id) ON DELETE NO ACTION ON UPDATE NO ACTION, |
849 | 950 | ADD CONSTRAINT fk_materiels_sur_categorie_id FOREIGN KEY (sur_categorie_id) REFERENCES sur_categories (id) ON DELETE NO ACTION ON UPDATE NO ACTION; |
850 | 951 | |
851 | 952 | -- |
953 | +-- Contraintes pour la table projets | |
954 | +-- | |
955 | +ALTER TABLE projets | |
956 | + ADD CONSTRAINT fk_projets_groupes_thematique_id FOREIGN KEY (groupes_thematique_id) REFERENCES groupes_thematiques (id) ON DELETE SET NULL; | |
957 | + | |
958 | +-- | |
852 | 959 | -- Contraintes pour la table sous_categories |
853 | 960 | -- |
854 | 961 | ALTER TABLE sous_categories |
855 | 962 | ADD CONSTRAINT category_id FOREIGN KEY (categorie_id) REFERENCES categories (id) ON DELETE NO ACTION ON UPDATE NO ACTION; |
856 | 963 | |
857 | 964 | -- |
965 | +-- Contraintes pour la table stats | |
966 | +-- | |
967 | +ALTER TABLE stats | |
968 | + ADD CONSTRAINT fk_stats_users FOREIGN KEY (user_id) REFERENCES `users` (id) ON DELETE CASCADE; | |
969 | + | |
970 | +-- | |
858 | 971 | -- Contraintes pour la table suivis |
859 | 972 | -- |
860 | 973 | ALTER TABLE suivis |
... | ... | @@ -869,13 +982,21 @@ ALTER TABLE suivis |
869 | 982 | -- Contraintes pour la table users |
870 | 983 | -- |
871 | 984 | ALTER TABLE users |
985 | + ADD CONSTRAINT fk_users_groupe_thematique_id FOREIGN KEY (groupes_thematique_id) REFERENCES groupes_thematiques (id) ON DELETE SET NULL ON UPDATE NO ACTION, | |
872 | 986 | ADD CONSTRAINT fk_users_sur_categories_id FOREIGN KEY (sur_categorie_id) REFERENCES sur_categories (id) ON DELETE NO ACTION ON UPDATE NO ACTION; |
873 | 987 | |
874 | - | |
875 | - | |
876 | 988 | -- commit transaction |
877 | 989 | COMMIT; |
878 | 990 | |
991 | +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; | |
992 | +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; | |
993 | +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; | |
994 | + | |
995 | + | |
996 | + | |
997 | + | |
998 | + | |
999 | + | |
1000 | + | |
879 | 1001 | -- autocommit pour la suite (insert data) |
880 | 1002 | SET AUTOCOMMIT = 1; |
881 | - | ... | ... |
database/insert_tables_default_data_general.sql renamed to database/DB3_insert_tables_default_data_mandatory.sql
... | ... | @@ -36,26 +36,25 @@ NULL, 1000, |
36 | 36 | -- |
37 | 37 | |
38 | 38 | INSERT INTO type_suivis(nom) values ('Réparation'); |
39 | -INSERT INTO sites(id, nom) values (9, 'N/A'); | |
40 | 39 | |
41 | 40 | |
42 | 41 | -- |
43 | 42 | -- Insertion par défaut pour la table type_documents |
44 | 43 | -- |
45 | 44 | |
46 | -INSERT INTO type_documents (id, nom) VALUES | |
47 | -(1, 'N/A'), | |
48 | -(2, 'Bon de commande'), | |
49 | -(3, 'Bon de livraison'), | |
50 | -(4, 'Photo'), | |
51 | -(5, 'Documentation technique'), | |
52 | -(6, 'Spécifications'), | |
53 | -(7, 'CR de maintenance'), | |
54 | -(8, 'CR d\'étalonnage'), | |
55 | -(9, 'Suivi de panne'), | |
56 | -(10, 'Certificat de garantie'), | |
57 | -(11, 'Certificat de conformité'), | |
58 | -(12, 'Manuel d\'utilisation'), | |
59 | -(13, 'Devis'); | |
45 | +INSERT INTO type_documents (nom) VALUES | |
46 | +('DEVIS'), | |
47 | +('BC (Bon de commande)'), | |
48 | +('BL (Bon de livraison)'), | |
49 | +('FACTURE'), | |
50 | +('Photo'), | |
51 | +('Documentation technique'), | |
52 | +('Spécifications'), | |
53 | +('CR de maintenance'), | |
54 | +("CR d'étalonnage"), | |
55 | +('Suivi de panne'), | |
56 | +('Certificat de garantie'), | |
57 | +('Certificat de conformité'), | |
58 | +("Manuel d'utilisation"); | |
60 | 59 | |
61 | 60 | ... | ... |
database/insert_tables_default_data_IRAP.sql renamed to database/DB4_insert_tables_default_data_IRAP_optional.sql
... | ... | @@ -9,12 +9,13 @@ |
9 | 9 | -- ATTENTION : remplacer le nom "_mydb_" par le nom de votre base de donnée |
10 | 10 | use _mydb_; |
11 | 11 | |
12 | -INSERT INTO sur_categories (id, nom) VALUES (1, 'Electronique'), | |
13 | -(2, 'Informatique'), | |
14 | -(3, 'Instrumentation'), | |
15 | -(4, 'Logistique'), | |
16 | -(5, 'Mecanique'), | |
17 | -(6, 'Optique'); | |
12 | +INSERT INTO sur_categories (nom) VALUES | |
13 | +('Electronique'), | |
14 | +('Informatique'), | |
15 | +('Instrumentation'), | |
16 | +('Logistique'), | |
17 | +('Mecanique'), | |
18 | +('Optique'); | |
18 | 19 | |
19 | 20 | -- --------------------------------------- |
20 | 21 | -- |
... | ... | @@ -150,30 +151,28 @@ INSERT INTO `sous_categories` (`id`, `nom`, `categorie_id`) VALUES |
150 | 151 | -- Contenu de la table 'groupes_metiers' |
151 | 152 | -- |
152 | 153 | |
153 | -INSERT INTO groupes_metiers (id, nom, description) VALUES | |
154 | -(1, 'N/A', NULL), | |
155 | -(2, 'GEDI', 'Electronique'), | |
156 | -(3, 'GT2I', 'Informatique'), | |
157 | -(4, 'GI', 'Instrumentation'), | |
158 | -(5, 'GACL', 'Administration, gestion, logistique'), | |
159 | -(6, 'GGPAQ', 'Gestion projet, Qualité'), | |
160 | -(7, 'GM', 'Mécanique'), | |
161 | -(8,'SI','Service Informatique'), | |
162 | -(9, 'RS', 'Réseau Sismique'); | |
154 | +INSERT INTO groupes_metiers (nom, description) VALUES | |
155 | +('GEDI', 'Electronique'), | |
156 | +('GT2I', 'Informatique'), | |
157 | +('GI', 'Instrumentation'), | |
158 | +('GACL', 'Administration, gestion, logistique'), | |
159 | +('GGPAQ', 'Gestion projet, Qualité'), | |
160 | +('GM', 'Mécanique'), | |
161 | +('SI', 'Service Informatique'), | |
162 | +('RS', 'Réseau Sismique'); | |
163 | 163 | |
164 | 164 | -- ----------------------------------------- |
165 | 165 | -- |
166 | 166 | -- Contenu de la table 'groupes_thematiques' |
167 | 167 | -- |
168 | 168 | |
169 | -INSERT INTO groupes_thematiques (id, nom, description) VALUES | |
170 | -(1, 'N/A', NULL), | |
171 | -(2, 'PSE', NULL), | |
172 | -(3, 'MICMAC', NULL), | |
173 | -(4, 'GAHEC', NULL), | |
174 | -(5, 'SISU', NULL), | |
175 | -(6, 'SG', NULL), | |
176 | -(7, 'GPPS', NULL); | |
169 | +INSERT INTO groupes_thematiques (nom, description) VALUES | |
170 | +('PSE', NULL), | |
171 | +('MICMAC', NULL), | |
172 | +('GAHEC', NULL), | |
173 | +('SISU', NULL), | |
174 | +('SG', NULL), | |
175 | +('GPPS', NULL); | |
177 | 176 | |
178 | 177 | -- ------------------------------------------- |
179 | 178 | -- | ... | ... |
database/insert_superadmin_user.sql renamed to database/DB5_insert_superadmin_user.sql
database/insert_fake_users.sql renamed to database/DB6_insert_fake_users_optional.sql
database/create_database_test.sql renamed to database/old/create_database_test.sql
database/create_tables_2019_05.sql renamed to database/old/create_tables_2019_05.sql
database/labinvent_mode_update.sql renamed to database/old/labinvent_mode_update.sql
database/BDD_schema.mwb renamed to database/schema/BDD_schema.mwb
No preview for this file type
database/BDD_schema.pdf renamed to database/schema/BDD_schema.pdf
No preview for this file type
database/BDD_schema.png renamed to database/schema/BDD_schema.png
367 KB
database/BDD_schema.svg renamed to database/schema/BDD_schema.svg
install/INSTALLATION.txt
install/installation.sh
... | ... | @@ -3,6 +3,12 @@ |
3 | 3 | # Pour pouvoir ajouter les donnees IRAP (categories...) pendant l'installation, mettre à 1 |
4 | 4 | INSTALL_DATA_IRAP=1 |
5 | 5 | |
6 | +# Chemins vers fichier de conf | |
7 | +cakephp_app_path=./ | |
8 | +config_path=$cakephp_app_path/config | |
9 | +config_file=$config_path/app.php | |
10 | +default_config_file=$config_path/app.default.php | |
11 | + | |
6 | 12 | |
7 | 13 | |
8 | 14 | # Le script peut-il continuer et créer les fichiers qui lui sont nécessaires ? |
... | ... | @@ -293,19 +299,17 @@ echo "==> Utilisation en mode $mode" |
293 | 299 | echo |
294 | 300 | echo |
295 | 301 | echo "---------------------------------" |
296 | -echo "E - CONFIGURATION BASE DE DONNÉES" | |
302 | +echo "E - CRÉATION DU FICHIER DE CONSTRUCTION DE LA BASE DE DONNÉES (build.sql)" | |
297 | 303 | echo "---------------------------------" |
298 | 304 | |
299 | -cakephpAppPath=./ | |
300 | -configPath=$cakephpAppPath/config | |
301 | -dbConfigFile=$configPath/app.php | |
302 | -myConfigFile=$configPath/app.php | |
303 | -configFile=$configPath/app.php | |
304 | 305 | |
305 | -# If INSTALL mode => copy sample GENERAL config file to real personal file (make a copy first if already exists !) | |
306 | -[[ -f $myConfigFile ]] && cp -p $myConfigFile $myConfigFile.ORIG | |
307 | -[[ $mode == "install" ]] && cp $configPath/app.default.php $myConfigFile | |
306 | +# - Copie perso du fichier de config par défaut (Si INSTALL mode) | |
307 | +# (on crée une copie privée (perso) du fichier de config par défaut (sauvegarde aussi la version existante)) | |
308 | +[[ -f $config_file ]] && cp -p $config_file $config_file.ORIG | |
309 | +[[ $mode == "install" ]] && cp $default_config_file $config_file | |
310 | +#[[ $mode == "install" ]] && cp $config_path/app.default.php $config_file | |
308 | 311 | |
312 | +# - (re)-Création de la BD ? | |
309 | 313 | echo |
310 | 314 | while : ; do |
311 | 315 | echo "Voulez-vous (re-)créer la base de données (default=N) [O/N] ?" |
... | ... | @@ -315,12 +319,12 @@ while : ; do |
315 | 319 | done |
316 | 320 | BDD=$rep |
317 | 321 | if [[ $BDD == "O" ]] ; then |
318 | - echo "==> La BDD sera (re-)créée" | |
322 | + echo "==> La BD sera (re-)créée" | |
319 | 323 | else |
320 | - echo "==> Pas de création de la base de donnees (la BD existe déjà)" | |
324 | + echo "==> Pas de création de la BD (ce qui suppose qu'elle existe déjà)" | |
321 | 325 | fi |
322 | 326 | |
323 | -# Set database ip | |
327 | +# - Set database ip | |
324 | 328 | echo |
325 | 329 | echo "Entrez le nom ou l'adresse du serveur MySQL hebergeant la base de donnees (defaut=localhost) :" |
326 | 330 | read bddIp |
... | ... | @@ -328,14 +332,17 @@ if [ -z $bddIp ] ; then |
328 | 332 | bddIp="localhost" |
329 | 333 | fi |
330 | 334 | echo "==> Adresse du serveur MySql = $bddIp" |
335 | +#sed -e "s#/\*d\*/'host' => 'localhost'//\*d\*/'host' => '$bddIp'/" -i $config_file | |
336 | +sed -e "s/\*d\*\/'host' => 'localhost'/\*d\*\/'host' => '$bddIp'/" -i $config_file | |
331 | 337 | |
338 | +# - Set Mysql login | |
332 | 339 | echo |
333 | 340 | if [[ $BDD == "O" ]] ; then |
334 | 341 | echo "Entrez le login privilegie vous donnant le droit de CREER des bases de donnees" |
335 | 342 | echo "(ce login ne sera utilisé qu'une seule fois, pour la creation des bases)" |
336 | 343 | #echo "Si vous n'avez pas la permission de créer de nouvelles bases sur le serveur mais souhaitez installer le logiciel dans une base existante, entrez 'latmos'" |
337 | 344 | echo "Si vous n'avez pas la permission de créer de nouvelles bases sur le serveur mais souhaitez installer le logiciel dans une base existante, entrez 'bd_existante'" |
338 | - echo "(defaut=root) [root/bd_existante/...] :" | |
345 | + echo "(defaut=root) [root/bd_existante/...] :" | |
339 | 346 | read bddAdminName |
340 | 347 | if [ -z $bddAdminName ] ; then |
341 | 348 | bddAdminName="root" |
... | ... | @@ -346,142 +353,147 @@ if [[ $BDD == "O" ]] ; then |
346 | 353 | read -s bddAdminPass |
347 | 354 | fi |
348 | 355 | |
349 | -# Configuration BD test et prod dans fichier config/app.php | |
350 | - | |
351 | -# - BD prod | |
352 | - | |
353 | -#sed -e "s#/\*d\*/'host' => 'localhost'//\*d\*/'host' => '$bddIp'/" -i $dbConfigFile | |
354 | -sed -e "s/\*d\*\/'host' => 'localhost'/\*d\*\/'host' => '$bddIp'/" -i $dbConfigFile | |
355 | - | |
356 | -echo | |
357 | -echo "Entrez le nom de la BDD à utiliser pour l'inventaire (defaut=labinvent) :" | |
358 | -read bddName | |
359 | -if [ -z $bddName ] ; then bddName="labinvent" ; fi | |
360 | -echo "==> Nom de la BDD = $bddName" | |
361 | -echo | |
362 | -sed -e "s/'database' => 'database'/'database' => '$bddName'/" -i $dbConfigFile | |
363 | - | |
364 | -# - BD test | |
365 | - | |
366 | -default_test_db_name="test_labinvent2" | |
367 | -echo "Entrez maintenant le nom de la BDD de TEST à utiliser pour l'inventaire (defaut=$default_test_db_name) :" | |
368 | -read bddName_test | |
369 | -if [ -z $bddName_test ] ; then bddName_test=$default_test_db_name ; fi | |
370 | -echo "==> Nom de la BDD de test = $bddName_test" | |
371 | -sed -e "s/'database' => 'test_database'/'database' => '$bddName_test'/" -i $dbConfigFile | |
372 | -sed -e "s/'username' => 'test_username'/'username' => 'superadmin'/" -i $dbConfigFile | |
373 | -sed -e "s/'password' => 'test_password'/'password' => 'superadmin'/" -i $dbConfigFile | |
374 | - | |
375 | - | |
376 | -# Attention, le login doit faire maximum 16 caracteres, car Mysql ne supporte pas plus | |
377 | -defaultBddUserName=${bddName:0:12}user | |
356 | +# - Nom de la BD prod | |
357 | +default="labinvent" | |
358 | +echo | |
359 | +echo "Entrez le nom de la BD à utiliser pour l'inventaire (defaut=$default) :" | |
360 | +read answer | |
361 | +if [ -z $answer ] ; then answer=$default ; fi | |
362 | +bddName=$answer | |
363 | +echo "==> Nom de la BD = $bddName" | |
364 | +echo | |
365 | +sed -e "s/'database' => 'database'/'database' => '$bddName'/" -i $config_file | |
366 | + | |
367 | +# - Nom de la BD test | |
368 | +#default="test_labinvent2" | |
369 | +default="test_labinvent" | |
370 | +echo "Entrez maintenant le nom de la BD de TEST à utiliser (pour l'exécution des tests) (defaut=$default) :" | |
371 | +read answer | |
372 | +if [ -z $answer ] ; then answer=$default ; fi | |
373 | +bddName_test=$answer | |
374 | +echo "==> Nom de la BD de test = $bddName_test" | |
375 | +sed -e "s/'database' => 'test_database'/'database' => '$bddName_test'/" -i $config_file | |
376 | +sed -e "s/'username' => 'test_username'/'username' => 'superadmin'/" -i $config_file | |
377 | +sed -e "s/'password' => 'test_password'/'password' => 'superadmin'/" -i $config_file | |
378 | + | |
379 | +# - Set login (+ pass) de l'application pour accéder à la BD (lecture/ecriture) | |
380 | +# (Attention, le login doit faire maximum 16 caracteres, car Mysql ne supporte pas plus) | |
381 | +# -- login | |
382 | +default=${bddName:0:12}user | |
378 | 383 | echo |
379 | 384 | echo "Entrez le login qui doit etre cree pour que le logiciel puisse avoir acces a la base de donnees inventaire." |
380 | 385 | echo "Ce login sera utilisé par le logiciel pour acceder et modifier la BD d'inventaire." |
381 | 386 | echo "Attention, il ne s'agit pas d'un utilisateur humain, mais d'un login associe au logiciel, il peut donc porter le nom du logiciel par exemple." |
382 | -echo "Ce login doit faire 16 caracteres MAX (defaut=$defaultBddUserName) :" | |
383 | -read bddUserName | |
384 | -if [ -z $bddUserName ] ; then bddUserName=$defaultBddUserName ; fi | |
385 | -echo "==> BDD inventaire user login = $bddUserName" | |
386 | -sed -e "s/'username' => 'username'/'username' => '$bddUserName'/" -i $dbConfigFile | |
387 | -sed -e "s/'username' => 'superadmin'/'username' => '$bddUserName'/" -i $dbConfigFile | |
388 | - | |
387 | +echo "Ce login doit faire 16 caracteres MAX (defaut=$default) :" | |
388 | +read answer | |
389 | +if [ -z $answer ] ; then answer=$default ; fi | |
390 | +bddUserName=$answer | |
391 | +echo "==> BD inventaire user login = $bddUserName" | |
392 | +# Pourquoi 2 fois la même chose ??? | |
393 | +sed -e "s/'username' => 'username'/'username' => '$bddUserName'/" -i $config_file | |
394 | +sed -e "s/'username' => 'superadmin'/'username' => '$bddUserName'/" -i $config_file | |
395 | +# -- pass | |
389 | 396 | echo |
390 | 397 | echo "Entrez le mot de passe de cet utilisateur :" |
391 | 398 | read -s bddUserPass |
392 | 399 | echo "==> BDD inventaire user pass = $bddUserPass" |
393 | -sed -e "s/'password' => 'password'/'password' => '$bddUserPass'/" -i $dbConfigFile | |
394 | -sed -e "s/'password' => 'superadmin'/'password' => '$bddUserPass'/" -i $dbConfigFile | |
400 | +sed -e "s/'password' => 'password'/'password' => '$bddUserPass'/" -i $config_file | |
401 | +sed -e "s/'password' => 'superadmin'/'password' => '$bddUserPass'/" -i $config_file | |
402 | + | |
395 | 403 | |
396 | -# DATABASE INSTALLATION | |
404 | +# - Création du Script de construction "build.sql" | |
397 | 405 | |
398 | 406 | #if [ $BDD == "N" ] ; then |
399 | 407 | # #Structure de la base de test présente dans le fichier "labinvent_mode_update.sql" |
400 | 408 | # cat ./labinvent_mode_update.sql > ./build_update.sql |
401 | 409 | # mysql --user=$bddAdminName --password=$bddAdminPass -h $bddIp < ./build_update.sql |
402 | 410 | #else |
403 | - | |
404 | 411 | echo |
405 | 412 | if [ $BDD == "O" ] ; then |
406 | 413 | cd database/ |
407 | - | |
408 | 414 | echo |
409 | 415 | echo "Creation script de construction de la BD... (./database/build.sql)" |
416 | + | |
417 | + # (0) On sauvegarde build.sql s'il existe déjà | |
418 | + # (le fichier build.sql est ignoré par git) | |
410 | 419 | [[ -f build.sql ]] && cp -p build.sql build.sql.ORIG |
411 | 420 | |
412 | - # Structure de la base présente dans le fichier "labinvent_last_version.sql" | |
421 | + # (1) DATABASE et USERS : création du fichier build.sql avec les 1ères instructions de création de la BD et users (prod et test) | |
413 | 422 | # (EP 25/5/19) TODO: il faut un script sql adapté au cas 'bd_existante', |
414 | 423 | # c'est à dire SANS "create schema...", mais juste des "drop table if exists + create table" |
415 | 424 | if [ $bddAdminName == 'bd_existante' ] ; then |
416 | 425 | #cat ./labinvent_2.1_22-05-17.sql > ./build.sql |
417 | - #cat ./labinvent_last_version_from_existing_bd.sql > ./build.sql | |
418 | - # (1) On crée un fichier vide | |
419 | - echo "" > ./build.sql | |
426 | + #cat ./labinvent_last_version_from_existing_bd.sql > ./build.sql | |
427 | + # (1) On crée un fichier vide | |
428 | + echo "" > ./build.sql | |
420 | 429 | else |
421 | - # (1) Instructions de création de la BD | |
422 | - cat ./create_database.sql > ./build.sql | |
430 | + #cat ./create_database.sql > ./build.sql | |
431 | + cat ./DB1_create_database_and_users.sql > ./build.sql | |
432 | + # Set login & mdp utlisateur application dans le script build.sql | |
433 | + #sed -e "s/'mydb'/'$bddUserName'/" -i ./build.sql | |
434 | + sed -e "s/'mydb_user'/'$bddUserName'/" -i ./build.sql | |
435 | + #sed -e "s/'mydb1'/'$bddUserPass'/" -i ./build.sql | |
436 | + sed -e "s/'mydb_pass'/'$bddUserPass'/" -i ./build.sql | |
423 | 437 | fi |
424 | - # (2) Instructions de création des tables | |
425 | - #cat ./labinvent_last_version_from_scratch.sql >> ./build.sql | |
426 | - cat ./create_tables.sql >> ./build.sql | |
427 | - # (3) Insertions des données de base indispensables (surtout la table configurations) | |
428 | - cat ./insert_tables_default_data_general.sql >> ./build.sql | |
429 | - | |
430 | 438 | |
431 | - # Ajout login & mdp utlisateur application dans le script build.sql | |
432 | - #sed -e "s/'mydb'/'$bddUserName'/" -i ./build.sql | |
433 | - sed -e "s/'mydb_user'/'$bddUserName'/" -i ./build.sql | |
434 | - #sed -e "s/'mydb1'/'$bddUserPass'/" -i ./build.sql | |
435 | - sed -e "s/'mydb_pass'/'$bddUserPass'/" -i ./build.sql | |
439 | + # (2) TABLES : ajout des instructions de création des tables | |
440 | + #cat ./labinvent_last_version_from_scratch.sql >> ./build.sql | |
441 | + #cat ./create_tables.sql >> ./build.sql | |
442 | + cat ./DB2_create_tables.sql >> ./build.sql | |
443 | + | |
444 | + # (3) DATA obligatoires : ajout des données de base indispensables (surtout la table configurations) | |
445 | + #cat ./insert_tables_default_data_general.sql >> ./build.sql | |
446 | + cat ./DB3_insert_tables_default_data_mandatory.sql >> ./build.sql | |
436 | 447 | |
437 | - # Seulement pour IRAP | |
448 | + # (4) (optionnel) DATA optionnelles (IRAP only) : ajout données IRAP (catégories, groupes) | |
438 | 449 | echo |
439 | 450 | if [ $INSTALL_DATA_IRAP -eq 1 ] ; then |
440 | 451 | echo "Voulez-vous installer les donnees propres a l'IRAP (categories, groupes metiers, groupes thematiques) dans la base de donnees (defaut=O) [O/N] ?" |
441 | 452 | read rep |
442 | - if [ -z $rep ] || [ $rep == "O" ] || [ $rep == "o" ] || [ $rep == "Oui" ] || [ $rep == "oui" ] || [ $rep == "OUI" ]; then | |
443 | - echo "==> Les données IRAP seront installées dans la BDD" | |
444 | - #cat ./Insert_TablesFunct.sql >> ./build.sql | |
445 | - cat ./insert_tables_default_data_IRAP.sql >> ./build.sql | |
446 | - else | |
447 | - echo "==> Pas d'install de donnees IRAP dans la base" | |
448 | - fi | |
453 | + if [ -z $rep ] || [ $rep == "O" ] || [ $rep == "o" ] || [ $rep == "Oui" ] || [ $rep == "oui" ] || [ $rep == "OUI" ]; then | |
454 | + echo "==> Les données IRAP seront installées dans la BDD" | |
455 | + #cat ./Insert_TablesFunct.sql >> ./build.sql | |
456 | + #cat ./insert_tables_default_data_IRAP.sql >> ./build.sql | |
457 | + cat ./DB4_insert_tables_default_data_IRAP_optional.sql >> ./build.sql | |
458 | + else | |
459 | + echo "==> Pas d'install de donnees IRAP dans la base" | |
460 | + fi | |
449 | 461 | fi |
450 | 462 | |
451 | - #rep=" " | |
452 | - cat ./insert_superadmin_user.sql >> ./build.sql | |
453 | - | |
463 | + # (5) Ajout du user superadmin (dans table 'users') | |
454 | 464 | echo |
455 | 465 | echo "Maintenant, nous allons definir l'utilisateur qui sera superadministrateur de l'application, ca peut etre VOUS (Pas de mot de passe par défaut) :" |
456 | - echo "- Entrez ses (vos) Nom et Prenom (sous forme : Nom Prenom ) :" | |
466 | + echo "- Entrez ses (vos) Nom et Prenom (sous forme : Nom Prenom ) :" | |
457 | 467 | read UserName UserPrenom |
458 | - | |
459 | 468 | echo |
460 | - echo "- Entrez son (votre) login (par exemple, votre login ldap (défaut=superadmin) :" | |
461 | - read login | |
462 | - # par defaut, on met superadmin (utilisé en fake ldap) | |
463 | - if [ -z $login ] ; then login="superadmin" ; fi | |
469 | + echo "- Entrez son (votre) login (par exemple, votre login ldap (défaut=superadmin) :" | |
470 | + read login | |
471 | + # par defaut, on met superadmin (utilisé en fake ldap) | |
472 | + if [ -z $login ] ; then login="superadmin" ; fi | |
464 | 473 | echo "==> login du super administrateur de LabInvent = $login" |
465 | - echo "*** ATTENTION *** : Notez bien ce login, c'est celui qui vous permettra par défaut de vous connecter à LabInvent en tant que super administrateur (avec le mot de passe 'login')" | |
466 | - | |
474 | + echo "*** ATTENTION *** : Notez bien ce login, c'est celui qui vous permettra par défaut de vous connecter à LabInvent en tant que super administrateur (avec le mot de passe 'login')" | |
467 | 475 | echo |
468 | - echo "- Entrez son (votre) email :" | |
469 | - read mel | |
470 | - sed -e "s/Nom/$UserName/" -i ./build.sql | |
471 | - sed -e "s/Prenom/$UserPrenom/" -i ./build.sql | |
472 | - sed -e "s/userlogin/$login/" -i ./build.sql | |
473 | - sed -e "s/'__@__'/'$mel'/" -i ./build.sql | |
476 | + echo "- Entrez son (votre) email :" | |
477 | + read mel | |
478 | + #cat ./insert_superadmin_user.sql >> ./build.sql | |
479 | + cat ./DB5_insert_superadmin_user.sql >> ./build.sql | |
480 | + sed -e "s/Nom/$UserName/" -i ./build.sql | |
481 | + sed -e "s/Prenom/$UserPrenom/" -i ./build.sql | |
482 | + sed -e "s/userlogin/$login/" -i ./build.sql | |
483 | + | |
474 | 484 | |
485 | + # (6) (optionnel) Ajout de quelques users (bidons) par défaut (1 par profil) | |
475 | 486 | echo |
476 | 487 | echo "Voulez-vous installer quelques utilisateurs supplémentaires (bidons, 1 par profil) dans la base de donnees (vous pourrez ensuite changer leur nom dans l'application, ou meme les supprimer) (defaut=O) [O/N] ?" |
477 | - read rep | |
478 | - if [ -z $rep ] || [ $rep == "O" ] || [ $rep == "o" ] || [ $rep == "Oui" ] || [ $rep == "oui" ] || [ $rep == "OUI" ]; then | |
488 | + read rep | |
489 | + if [ -z $rep ] || [ $rep == "O" ] || [ $rep == "o" ] || [ $rep == "Oui" ] || [ $rep == "oui" ] || [ $rep == "OUI" ]; then | |
479 | 490 | echo "==> Oui" |
480 | - echo "Ajout de quelques utilisateurs supplementaires dans la base (Mot de passe par défaut : login)" | |
481 | - cat ./insert_fake_users.sql >> ./build.sql | |
491 | + echo "Ajout de quelques utilisateurs supplementaires dans la base (Mot de passe par défaut : login)" | |
492 | + #cat ./insert_fake_users.sql >> ./build.sql | |
493 | + cat ./DB6_insert_fake_users_optional.sql >> ./build.sql | |
482 | 494 | fi |
483 | 495 | |
484 | - # Remplacement des "use mydb" par "use $bddName" | |
496 | + # (7) Remplacement des "use _mydb_" par "use $bddName" (idem pour bd test) | |
485 | 497 | sed -e "s/_mydb_/$bddName/" -i ./build.sql |
486 | 498 | sed -e "s/_mydbtest_/$bddName_test/" -i ./build.sql |
487 | 499 | |
... | ... | @@ -491,23 +503,23 @@ if [ $BDD == "O" ] ; then |
491 | 503 | echo |
492 | 504 | echo |
493 | 505 | echo "----------------------------------" |
494 | -echo "E - CRÉATION DE LA BASE DE DONNÉES" | |
506 | +echo "E - CRÉATION DE LA BASE DE DONNÉES (à partir du fichier build.sql)" | |
495 | 507 | echo "----------------------------------" |
496 | 508 | |
497 | 509 | echo |
498 | - echo "Je vais maintenant procéder à la création de la BDD inventaire (Attention, votre serveur de BD doit etre demarré), ok ?" | |
510 | + echo "Je vais maintenant procéder à la création de la BD inventaire (Attention, votre serveur de BD doit etre demarré), ok ?" | |
499 | 511 | echo "...[taper une touche]..." |
500 | 512 | read rep |
501 | - if [ $bddAdminName == 'bd_existante' ] ; then | |
513 | + if [ $bddAdminName == 'bd_existante' ] ; then | |
502 | 514 | mysql --user=$bddUserName --password="$bddUserPass" -h $bddIp < ./build.sql |
503 | 515 | else |
504 | 516 | #echo "mysql --user=$bddAdminName --password="$bddAdminPass" -h $bddIp < ./build.sql" |
505 | 517 | mysql --user=$bddAdminName --password="$bddAdminPass" -h $bddIp < ./build.sql |
506 | - fi | |
507 | - echo "==> Done (a verifier quand même)" | |
518 | + fi | |
519 | + echo "==> Done (à verifier quand même)" | |
508 | 520 | echo "NB: " |
509 | 521 | echo " Si jamais il y a eu des erreurs lors de la création de la BD," |
510 | - echo " veuillez modifier à la main le script de création de la BD qui est ../database/build.sql" | |
522 | + echo " veuillez modifier à la main le script de création de la BD qui est ../database/build.sql" | |
511 | 523 | echo " puis exécutez à la main cette ligne pour re-créer la BDD :" |
512 | 524 | #echo " $ mysql --user=$bddAdminName --password="$bddAdminPass" -h $bddIp < ../database/build.sql" |
513 | 525 | echo " $ mysql --user=$bddAdminName --password="votre-mot-de-pass-admin-de-mysql" -h $bddIp < ../database/build.sql" | ... | ... |