Blame view

database/update/db-update-2019-03-26.sh 1.62 KB
8948dcfd   Etienne Pallier   Refactorisation M...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash

#myname=`basename $0 .sh`
myname=`basename $0`
myname=${myname%%.*}

# Pour Mac OS recent (>=10.10, Yosemite), la syntaxe du SED est differente
# Il faut donc exécuter ce script de la manière suivante :
# ./macos-db-update.sh <ce_script.sh>


function abort() {
	echo "******************************************************"
	echo "!!! Script $0 aborté à cause d'une erreur d'exécution !!!"	
	echo "******************************************************"
	exit 1
}


if [ ! -f ../../config/app.php ] ; then
echo "Vous devez executer ce script depuis le dossier database/update/"
exit 1
fi


# Get login, pass, dbname, and hostname
username=$(grep "/\*d\*/'username'" ../../config/app.php | cut -d"'" -f4) || abort
password=$(grep "/\*d\*/'password'" ../../config/app.php | cut -d"'" -f4) || abort
database=$(grep "/\*d\*/'database'" ../../config/app.php | cut -d"'" -f4) || abort
host=$(grep "/\*d\*/'host'" ../../config/app.php | cut -d"'" -f4) || abort


#cp -p ./script_sql/db-update-2016-07-01-irap.sql ./script_sql/db-update-2016-07-01-irap-build.sql
cp -p ./script_sql/$myname.sql ./script_sql/$myname-build.sql || abort

# Execute sql update script
sed -e "s/database/$database/" -i ./script_sql/$myname-build.sql || abort
mysql --user=$username --password=$password -h $host < ./script_sql/$myname-build.sql || abort

# Delete temporary file and cakephp cache (-f avoids warning if no file)
rm -f ./script_sql/$myname-build.sql
sudo rm -f ../../tmp/cache/models/*
sudo rm -f ../../tmp/cache/persistent/*

# Faire ca aussi si ca suffit pas...
#sudo chmod -R 777 ../../tmp
#sudo chmod -R 777 ../../vendor
#sudo chmod -R 777 ../../webroot