Commit 568c060d4a84eb55898d2fbc18a35246f75e4598
1 parent
e0cb3bb8
Exists in
master
and in
1 other branch
Nouveau script database/update/db-update.sh UNIQUE (v3.7.9.71)
pour exécuter un script sql passé en argument => remplace tous les scripts database/update/db-update-yyyy-mm-dd.sh désormais inutiles et à supprimer prochainement
Showing
7 changed files
with
128 additions
and
22 deletions
Show diff stats
CHANGES.txt
... | ... | @@ -72,10 +72,12 @@ Outre ces changements, voici d'autres changements importants : |
72 | 72 | ======= CHANGES ======= |
73 | 73 | |
74 | 74 | ------- |
75 | -23/07/2020 v3.7.9.69-70 (EP) | |
75 | +23/07/2020 v3.7.9.69-71 (EP) | |
76 | 76 | - (b) Bugfix OrganismesController getArticle => public |
77 | 77 | - .gitignore modifs : ignorer dossier Eclipse .metadata/... |
78 | - - nouveau filtre "domaine" pour afficher la liste des matériels par domaine (informatique, électronique, ...) | |
78 | + - (e) nouveau filtre "domaine" pour afficher la liste des matériels par domaine (informatique, électronique, ...) | |
79 | + - (i) nouveau script database/update/db-update.sh UNIQUE pour exécuter un script sql passé en argument | |
80 | + => remplace tous les scripts database/update/db-update-yyyy-mm-dd.sh désormais inutiles et à supprimer prochainement | |
79 | 81 | |
80 | 82 | |
81 | 83 | ------- | ... | ... |
README.md
... | ... | @@ -43,7 +43,7 @@ Logiciel testé et validé sur les configurations suivantes : |
43 | 43 | -------------------------------------------------------------------------------------------- |
44 | 44 | |
45 | 45 | Date: 23/07/2020 |
46 | -Version: 3.7.9.70 | |
46 | +Version: 3.7.9.71 | |
47 | 47 | |
48 | 48 | |
49 | 49 | HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) | ... | ... |
database/update/db-update-2020-07-06.sh
1 | 1 | #!/bin/bash |
2 | 2 | |
3 | +# Récupération du nom de ce script, sans l'extension .sh | |
3 | 4 | #myname=`basename $0 .sh` |
5 | +# db-update-2020-07-06.sh | |
4 | 6 | myname=`basename $0` |
7 | +# db-update-2020-07-06 | |
5 | 8 | myname=${myname%%.*} |
6 | 9 | |
10 | + | |
7 | 11 | # Pour Mac OS recent (>=10.10, Yosemite), la syntaxe du SED est differente |
8 | 12 | # Il faut donc exécuter ce script de la manière suivante : |
9 | 13 | # ./macos-db-update.sh <ce_script.sh> | ... | ... |
... | ... | @@ -0,0 +1,83 @@ |
1 | +#!/bin/bash | |
2 | + | |
3 | +# Pour Mac OS recent (>=10.10, Yosemite), la syntaxe du SED est differente | |
4 | +# Il faut donc exécuter ce script de la manière suivante : | |
5 | +# ./macos-db-update.sh <ce_script.sh> | |
6 | + | |
7 | + | |
8 | +if [ ! -f ../../config/app.php ] ; then | |
9 | + echo "Vous devez executer ce script depuis le dossier database/update/" | |
10 | + exit 1 | |
11 | +fi | |
12 | + | |
13 | +# Ce script attend un argument $1 qui est le nom du script sql à exécuter | |
14 | +# Exit if no argument | |
15 | +[[ $1 == '' ]] && exit 1 | |
16 | +sqlscript=$1 | |
17 | +#echo $sqlscript | |
18 | + | |
19 | + | |
20 | +function abort() { | |
21 | + echo "******************************************************" | |
22 | + echo "!!! Script $0 aborté à cause d'une erreur d'exécution !!!" | |
23 | + echo "******************************************************" | |
24 | + exit 1 | |
25 | +} | |
26 | + | |
27 | + | |
28 | +# Exit si ce script n'existe pas | |
29 | +#if [[ ! -f ./script_sql/$sqlscript ]] ; then | |
30 | +if [[ ! -f ./$sqlscript ]] ; then | |
31 | + #echo "Le script SQL script_sql/$sqlscript n'existe pas" | |
32 | + echo "Le script SQL $sqlscript n'existe pas" | |
33 | + abort | |
34 | +fi | |
35 | + | |
36 | + | |
37 | +# Nom du script sql, sans l'extension .sql | |
38 | +sqlscript_name=${sqlscript%%.*} | |
39 | +#echo $sqlscript_name | |
40 | + | |
41 | + | |
42 | + | |
43 | + | |
44 | + | |
45 | + | |
46 | +# Get login, pass, dbname, and hostname | |
47 | +username=$(grep "/\*d\*/'username'" ../../config/app.php | cut -d"'" -f4) || abort | |
48 | +password=$(grep "/\*d\*/'password'" ../../config/app.php | cut -d"'" -f4) || abort | |
49 | +database=$(grep "/\*d\*/'database'" ../../config/app.php | cut -d"'" -f4) || abort | |
50 | +host=$(grep "/\*d\*/'host'" ../../config/app.php | cut -d"'" -f4) || abort | |
51 | + | |
52 | + | |
53 | +#cp -p ./script_sql/db-update-2016-07-01-irap.sql ./script_sql/db-update-2016-07-01-irap-build.sql | |
54 | +#cp -p ./script_sql/$sqlscript.sql ./script_sql/$sqlscript-build.sql || abort | |
55 | +#cp -p ./script_sql/$sqlscript_name.sql ./script_sql/$sqlscript_name-build.sql || abort | |
56 | +cp -p ./$sqlscript_name.sql ./$sqlscript_name-build.sql || abort | |
57 | + | |
58 | +# Execute sql update script | |
59 | +#sed -e "s/database/$database/" -i ./script_sql/$sqlscript-build.sql || abort | |
60 | +sed -e "s/database/$database/" -i ./$sqlscript_name-build.sql || abort | |
61 | + | |
62 | +#mysql --user=$username --password=$password -h $host < ./script_sql/$sqlscript_name-build.sql || abort | |
63 | +mysql --user=$username --password=$password -h $host < ./$sqlscript_name-build.sql || abort | |
64 | + | |
65 | +# Delete temporary file and cakephp cache (-f avoids warning if no file) | |
66 | +#rm -f ./script_sql/$sqlscript_name-build.sql | |
67 | +rm -f ./$sqlscript_name-build.sql | |
68 | +sudo rm -f ../../tmp/cache/models/* | |
69 | +sudo rm -f ../../tmp/cache/persistent/* | |
70 | + | |
71 | +# Faire ca aussi si ca suffit pas... | |
72 | +#sudo chmod -R 777 ../../tmp | |
73 | +#sudo chmod -R 777 ../../vendor | |
74 | +#sudo chmod -R 777 ../../webroot | |
75 | + | |
76 | + | |
77 | +# PLUGIN update | |
78 | +# Installation plugin cakephp-dompdf | |
79 | +# (on va a la racine du projet) | |
80 | +#cd ../../ | |
81 | +#php composer.phar require daoandco/cakephp-dompdf | |
82 | +#bin/cake plugin assets symlink | |
83 | +#cd - | ... | ... |
database/update/macos-db-update.sh
1 | 1 | # Pour Mac OS recent (10.10, Yosemite), la syntaxe du SED est differente |
2 | 2 | # Il faut donc transformer les instructions sed a l'interieur des fichiers bash |
3 | 3 | |
4 | -# USAGE: macos-db-update.sh db-update-xxxx-xx-xx.sh | |
4 | +# USAGE: macos-db-update.sh db-update.sh db-update-xxxx-xx-xx.sql | |
5 | +#### old USAGE: macos-db-update.sh db-update-xxxx-xx-xx.sh | |
5 | 6 | |
6 | 7 | cp $1 $1.macos |
7 | 8 | chmod +x $1.macos |
8 | 9 | sed -e "s/ -i / -i '' /" -i '' $1.macos |
9 | -./$1.macos | |
10 | +./$1.macos $2 | |
10 | 11 | rm -rf $1.macos | ... | ... |
install/update.sh
... | ... | @@ -16,10 +16,12 @@ |
16 | 16 | # Normal mode |
17 | 17 | TEST=0 |
18 | 18 | # Test mode |
19 | -#TEST=1 | |
19 | +TEST=1 | |
20 | 20 | |
21 | -db_update_scripts_folder="../database/update" | |
22 | -db_update_scripts_folder_tmp=/tmp/database_update | |
21 | +#db_update_scripts_folder="../database/update" | |
22 | +db_update_scripts_folder="../database/update/script_sql" | |
23 | +#db_update_scripts_folder_tmp=/tmp/database_update | |
24 | +db_update_scripts_folder_tmp=/tmp/database_update_script_sql | |
23 | 25 | |
24 | 26 | function abort() { |
25 | 27 | echo "******************************************************" |
... | ... | @@ -28,9 +30,6 @@ function abort() { |
28 | 30 | exit 1 |
29 | 31 | } |
30 | 32 | |
31 | -# TEST only | |
32 | -[[ $TEST == 1 ]] && (rm ../database/update/test.txt ; rm ../database/update/db-update-2014-*.sh ; touch ../database/update/db-update-2014-08-23.sh) | |
33 | -#mv ../database/update/db-update-2019-01-12.sh /tmp/ | |
34 | 33 | |
35 | 34 | |
36 | 35 | # ---------------------------------------- |
... | ... | @@ -47,6 +46,11 @@ echo |
47 | 46 | echo |
48 | 47 | |
49 | 48 | |
49 | +# TEST only | |
50 | +#[[ $TEST == 1 ]] && (rm ../database/update/test.txt ; rm ../database/update/db-update-2014-*.sh ; touch ../database/update/db-update-2014-08-23.sh) | |
51 | +[[ $TEST == 1 ]] && (rm $db_update_scripts_folder/test.txt ; rm $db_update_scripts_folder/db-update-2014-*.sql ; touch $db_update_scripts_folder/db-update-2014-08-23.sql) | |
52 | +#mv ../database/update/db-update-2019-01-12.sh /tmp/ | |
53 | + | |
50 | 54 | # ---------------------------------------- |
51 | 55 | # 0b) Sauvegarde de certains éléments (dans /tmp) |
52 | 56 | # (pour voir s'ils vont changer après le "git pull") |
... | ... | @@ -54,16 +58,19 @@ echo |
54 | 58 | |
55 | 59 | # a) Sauvegarde du fichier composer.json |
56 | 60 | cp -fp ../composer.json /tmp/ || abort |
57 | -[[ $TEST == 1 ]] && cp ../composer.lock /tmp/composer.json | |
61 | +######[[ $TEST == 1 ]] && cp ../composer.lock /tmp/composer.json | |
58 | 62 | composer_json_prev=/tmp/composer.json |
59 | 63 | |
60 | 64 | # b) Sauvegarde du dossier database/update/ |
65 | +# b) Sauvegarde du dossier database/update/script_sql/ | |
61 | 66 | #db_update_scripts_before=( "key1" "key2" "key3" "key4" "key5" "key6" "key7" "key8" "key9" "key10" ) |
62 | 67 | rm -rf $db_update_scripts_folder_tmp/ || abort |
63 | 68 | mkdir $db_update_scripts_folder_tmp/ || abort |
64 | -cp -fp $db_update_scripts_folder/db-update-????-??-??.sh $db_update_scripts_folder_tmp/ || abort | |
69 | +#cp -fp $db_update_scripts_folder/db-update-????-??-??.sh $db_update_scripts_folder_tmp/ || abort | |
70 | +cp -fp $db_update_scripts_folder/db-update-????-??-??.sql $db_update_scripts_folder_tmp/ || abort | |
65 | 71 | cd $db_update_scripts_folder_tmp/ || abort |
66 | -db_update_scripts_before=$(ls -1 db-update-????-??-??.sh) || abort | |
72 | +#db_update_scripts_before=$(ls -1 db-update-????-??-??.sh) || abort | |
73 | +db_update_scripts_before=$(ls -1 db-update-????-??-??.sql) || abort | |
67 | 74 | cd - >/dev/null || abort |
68 | 75 | #echo ; echo ${db_update_scripts_before[@]} |
69 | 76 | |
... | ... | @@ -120,6 +127,7 @@ if [ ! -d $plugins_dir ] ; then |
120 | 127 | chmod 777 $plugins_dir |
121 | 128 | fi |
122 | 129 | chmod +x plugins_set.sh |
130 | +chmod +x plugins_update.sh | |
123 | 131 | chmod +x plugins_install.sh |
124 | 132 | diff ../composer.json $composer_json_prev >/dev/null |
125 | 133 | # Attention, ne pas faire "update" mais "install" |
... | ... | @@ -147,11 +155,13 @@ echo "* 3) Mise à jour de la Base de Données (seulement si nécessaire) :" |
147 | 155 | # a) On fait la différence entre les fichiers de mise à jour BD présents après le git et avant |
148 | 156 | |
149 | 157 | # TEST only |
150 | -[[ $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) | |
158 | +#[[ $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) | |
159 | +[[ $TEST == 1 ]] && (rm $db_update_scripts_folder/db-update-2014-08-23.sql ; touch $db_update_scripts_folder/test.txt ; touch $db_update_scripts_folder/db-update-2014-08-24.sql ; touch $db_update_scripts_folder/db-update-2014-08-25.sql) | |
151 | 160 | #mv /tmp/db-update-2019-01-12.sh ../database/update/ |
152 | 161 | |
153 | 162 | cd $db_update_scripts_folder/ || abort |
154 | -db_update_scripts_after=$(ls -1 db-update-????-??-??.sh) || abort | |
163 | +#db_update_scripts_after=$(ls -1 db-update-????-??-??.sh) || abort | |
164 | +db_update_scripts_after=$(ls -1 db-update-????-??-??.sql) || abort | |
155 | 165 | cd - >/dev/null || abort |
156 | 166 | #echo ; echo ${db_update_scripts_after[@]} |
157 | 167 | |
... | ... | @@ -175,22 +185,28 @@ echo "Voici le(s) script(s) à exécuter :" |
175 | 185 | echo ${db_update_scripts_new[@]} |
176 | 186 | # Remove files that were DELETED by "git pull" |
177 | 187 | for db_update_script_new in ${db_update_scripts_new[@]} ; do |
178 | - [[ ! -f ../database/update/$db_update_script_new ]] && echo "$db_update_script_new sera ignoré car supprimé par le 'git pull'" # TODO: supprimer cet element du tableau | |
188 | +# [[ ! -f ../database/update/$db_update_script_new ]] && echo "$db_update_script_new sera ignoré car supprimé par le 'git pull'" # TODO: supprimer cet element du tableau | |
189 | + [[ ! -f ../database/update/script_sql/$db_update_script_new ]] && echo "$db_update_script_new sera ignoré car supprimé par le 'git pull'" # TODO: supprimer cet element du tableau | |
179 | 190 | done |
180 | -cd $db_update_scripts_folder/ || abort | |
191 | +# On va dans le dossier database/update/ : | |
192 | +#cd $db_update_scripts_folder/ || abort | |
193 | +cd $db_update_scripts_folder/../ || abort | |
181 | 194 | for db_update_script_new in ${db_update_scripts_new[@]} ; do |
182 | 195 | # Ignorer les fichiers supprimés par le "git pull" |
183 | - [[ ! -f $db_update_script_new ]] && continue | |
196 | + #[[ ! -f $db_update_script_new ]] && continue | |
197 | + [[ ! -f script_sql/$db_update_script_new ]] && continue | |
184 | 198 | echo ; echo |
185 | 199 | #echo "- Execution du script de mise à jour de la BD $db_update_scripts_folder/$db_update_script_new (o/n) ? [o]" |
186 | 200 | echo "- Execution du script de mise à jour de la BD $db_update_scripts_folder/$db_update_script_new" |
187 | 201 | #read do_it ; [[ -z $do_it ]] && do_it="o" ; echo $do_it |
188 | 202 | #if [[ $do_it == "o" ]] ; then |
189 | 203 | #ls -l ./$db_update_script_new_ || abort |
190 | - ./$db_update_script_new || abort | |
204 | + #./$db_update_script_new || abort | |
205 | + ./db-update.sh script_sql/$db_update_script_new || abort | |
191 | 206 | #fi |
192 | 207 | done |
193 | -[[ $TEST == 1 ]] && (rm test.txt ; rm db-update-2014-*.sh) | |
208 | +#[[ $TEST == 1 ]] && (rm test.txt ; rm db-update-2014-*.sh) | |
209 | +[[ $TEST == 1 ]] && (rm script_sql/test.txt ; rm script_sql/db-update-2014-*.sql) | |
194 | 210 | cd - >/dev/null |
195 | 211 | |
196 | 212 | ... | ... |
src/Template/Pages/tools.ctp
... | ... | @@ -56,7 +56,7 @@ echo $this->Html->link('Export de la liste des materiels actifs (format CSV)', [ |
56 | 56 | echo '</td></tr>'; |
57 | 57 | |
58 | 58 | echo '<tr><td>'; |
59 | -echo $this->Html->link('Voir les Droits des utilisateurs (ACLs)', [ | |
59 | +echo $this->Html->link('Voir les Autorisations des profils utilisateurs (ACLs)', [ | |
60 | 60 | 'controller' => 'pages', |
61 | 61 | 'action' => 'acls' |
62 | 62 | ]); | ... | ... |