Commit c43fc791879888a8458715e41c0c53b8e0093f11
1 parent
5d172735
Exists in
master
and in
1 other branch
modif BD
Showing
2 changed files
with
100 additions
and
0 deletions
Show diff stats
... | ... | @@ -0,0 +1,57 @@ |
1 | +#!/bin/bash | |
2 | + | |
3 | +#myname=`basename $0 .sh` | |
4 | +myname=`basename $0` | |
5 | +myname=${myname%%.*} | |
6 | + | |
7 | +# Pour Mac OS recent (>=10.10, Yosemite), la syntaxe du SED est differente | |
8 | +# Il faut donc exécuter ce script de la manière suivante : | |
9 | +# ./macos-db-update.sh <ce_script.sh> | |
10 | + | |
11 | + | |
12 | +function abort() { | |
13 | + echo "******************************************************" | |
14 | + echo "!!! Script $0 aborté à cause d'une erreur d'exécution !!!" | |
15 | + echo "******************************************************" | |
16 | + exit 1 | |
17 | +} | |
18 | + | |
19 | + | |
20 | +if [ ! -f ../../config/app.php ] ; then | |
21 | +echo "Vous devez executer ce script depuis le dossier database/update/" | |
22 | +exit 1 | |
23 | +fi | |
24 | + | |
25 | + | |
26 | +# Get login, pass, dbname, and hostname | |
27 | +username=$(grep "/\*d\*/'username'" ../../config/app.php | cut -d"'" -f4) || abort | |
28 | +password=$(grep "/\*d\*/'password'" ../../config/app.php | cut -d"'" -f4) || abort | |
29 | +database=$(grep "/\*d\*/'database'" ../../config/app.php | cut -d"'" -f4) || abort | |
30 | +host=$(grep "/\*d\*/'host'" ../../config/app.php | cut -d"'" -f4) || abort | |
31 | + | |
32 | + | |
33 | +#cp -p ./script_sql/db-update-2016-07-01-irap.sql ./script_sql/db-update-2016-07-01-irap-build.sql | |
34 | +cp -p ./script_sql/$myname.sql ./script_sql/$myname-build.sql || abort | |
35 | + | |
36 | +# Execute sql update script | |
37 | +sed -e "s/database/$database/" -i ./script_sql/$myname-build.sql || abort | |
38 | +mysql --user=$username --password=$password -h $host < ./script_sql/$myname-build.sql || abort | |
39 | + | |
40 | +# Delete temporary file and cakephp cache (-f avoids warning if no file) | |
41 | +rm -f ./script_sql/$myname-build.sql | |
42 | +sudo rm -f ../../tmp/cache/models/* | |
43 | +sudo rm -f ../../tmp/cache/persistent/* | |
44 | + | |
45 | +# Faire ca aussi si ca suffit pas... | |
46 | +#sudo chmod -R 777 ../../tmp | |
47 | +#sudo chmod -R 777 ../../vendor | |
48 | +#sudo chmod -R 777 ../../webroot | |
49 | + | |
50 | + | |
51 | +# PLUGIN update | |
52 | +# Installation plugin cakephp-dompdf | |
53 | +# (on va a la racine du projet) | |
54 | +#cd ../../ | |
55 | +#php composer.phar require daoandco/cakephp-dompdf | |
56 | +#bin/cake plugin assets symlink | |
57 | +#cd - | ... | ... |
... | ... | @@ -0,0 +1,43 @@ |
1 | +use database; | |
2 | + | |
3 | +-- On execute TOUT ou RIEN, c'est plus simple | |
4 | +START TRANSACTION; | |
5 | + | |
6 | + | |
7 | +-- Table type_suivis | |
8 | +-- 6/4/20 : ajout champ “is_regular” dans table type_suivis | |
9 | +ALTER TABLE `type_suivis` ADD `is_regular` BOOLEAN NOT NULL DEFAULT FALSE COMMENT 'suivi de type régulier (avec fréquence et non pas date)' AFTER `nom`; | |
10 | +-- 8/4/20 : ajout champ “is_metro” dans table type_suivis | |
11 | +ALTER TABLE type_suivis ADD is_metro BOOLEAN NOT NULL DEFAULT FALSE COMMENT 'type de suivi lié au module métrologie' AFTER is_regular; | |
12 | +update materiels set groupes_thematique_id=null WHERE groupes_thematique_id = (select id from groupes_thematiques where nom='N/A'); | |
13 | + | |
14 | + | |
15 | +-- 4/5/20 : suppression du champ “N/A” de groupes_thematiques et groupes_metiers (inutile et pose difficultés) | |
16 | +-- et remplacement des liens vers ce champ dans table materiels par NULL | |
17 | +-- a) update materiels.group = null | |
18 | +update materiels set groupes_thematique_id=NULL WHERE groupes_thematique_id = (select id from groupes_thematiques where nom='N/A'); | |
19 | +update materiels set groupes_metier_id=NULL WHERE groupes_metier_id = (select id from groupes_metiers where nom='N/A'); | |
20 | +-- b) update suivis.group = null | |
21 | +update suivis set groupes_thematique_id=NULL WHERE groupes_thematique_id = (select id from groupes_thematiques where nom='N/A'); | |
22 | +update suivis set groupes_metier_id=NULL WHERE groupes_metier_id = (select id from groupes_metiers where nom='N/A'); | |
23 | +-- c) delete groupes 'N/A' | |
24 | +delete FROM groupes_metiers WHERE nom = 'N/A'; | |
25 | +delete FROM groupes_thematiques WHERE nom = 'N/A'; | |
26 | + | |
27 | + | |
28 | +-- 5/5/20 : suppression du champ “N/A” des tables sites et type_documents (inutile et pose difficultés) | |
29 | +-- et remplacement des liens vers ces champ par NULL dans tables materiels, emprunts et documents | |
30 | +-- //select designation,site_id from materiels WHERE site_id = (select id from sites where nom='N/A'); | |
31 | +update materiels set site_id=NULL WHERE site_id = (select id from sites where nom='N/A'); | |
32 | +update emprunts set site_id=NULL WHERE site_id = (select id from sites where nom='N/A'); | |
33 | +update documents set type_document_id=NULL WHERE type_document_id = (select id from type_documents where nom='N/A'); | |
34 | +delete FROM type_documents WHERE nom = 'N/A'; | |
35 | +delete FROM sites WHERE nom = 'N/A'; | |
36 | + | |
37 | + | |
38 | +-- 5/6/20 : renommé champ fk groupe_thematique_id de la table users en groupes_thematique_id | |
39 | +-- pour s’harmoniser avec les noms dans les autres tables | |
40 | +ALTER TABLE `users` CHANGE `groupe_thematique_id` `groupes_thematique_id` INT(11) NULL DEFAULT NULL; | |
41 | + | |
42 | + | |
43 | +COMMIT; | ... | ... |