Line -... |
Line 1... |
- |
|
1 |
# Ce Makefile effectue les substitutions de nom de base de données
|
- |
|
2 |
# nécessaire au préalable de l'application des scripts SQL
|
- |
|
3 |
|
- |
|
4 |
# Cela est d'un part moins complexe:
|
- |
|
5 |
# - qu'un script PHP (interpréteur, getopt, framework, ...)
|
- |
|
6 |
# - qu'un shell-script (lancement avec make)
|
- |
|
7 |
# et d'autre part plus maintenable qu'un shell-script car
|
- |
|
8 |
# le versionnage des fichiers (inc ".current") permet certaines facilités.
|
- |
|
9 |
|
- |
|
10 |
|
- |
|
11 |
# TODO:
|
- |
|
12 |
# idéalement, ce Makefile devrait permettre une bonne gestion du jeu de dépendances
|
- |
|
13 |
# entre les scripts, seulement le lancement d'un script pouvant nécessiter un login/mdp
|
- |
|
14 |
# il est difficile de vouloir rester "simple".
|
- |
|
15 |
# Ce serait cependant la meilleure manière de procéder, ainsi "maj2" ne serait lancer qu'après
|
- |
|
16 |
# le succès de "maj1", celui-ci étant "testé" à l'aide d'un fichier comme .succeed ou .ok,
|
- |
|
17 |
# cf: tentative de make check
|
- |
|
18 |
|
- |
|
19 |
|
- |
|
20 |
# from:
|
1 |
# echo $(egrep -l 'BASE(SOURCE|EDIT|ANNUAIRE)' *.sql)
|
21 |
# echo $(egrep -l 'BASE(SOURCE|EDIT|ANNUAIRE)' *.sql)
|
2 |
fichiers = cel_references.sql dedup-ordre-201307.sql fix-utilisateur-32.sql maj-cleanup-201307.sql maj-hash-id-obs-migr.sql maj-nom-ret.sql maj-referentiel-201307.sql maj-referentiel-und-201307.sql maj-struct-201307.sql redempteur.sql referonosaure.sql .current
|
22 |
fichiers = cel_references.sql dedup-ordre-201307.sql fix-utilisateur-32.sql maj-cleanup-201307.sql maj-nom-ret.sql maj-referentiel-201307.sql maj-referentiel-und-201307.sql maj-struct-201307.sql redempteur.sql referonosaure.sql .current
|
Line 3... |
Line 23... |
3 |
|
23 |
|
4 |
# la base de données à modifier
|
24 |
# la base de données à modifier
|
Line 5... |
Line 25... |
5 |
alterdb ?= tb_cel_test
|
25 |
alterdb ?= tb_cel_test
|
Line 11... |
Line 31... |
11 |
# pour annuaire_tela, lecture seule;
|
31 |
# pour annuaire_tela, lecture seule;
|
12 |
# utilisée pour initialiser cel_utilisateurs dans maj-struct-201307.sql
|
32 |
# utilisée pour initialiser cel_utilisateurs dans maj-struct-201307.sql
|
13 |
annuairedb ?= tela_prod_v4
|
33 |
annuairedb ?= tela_prod_v4
|
Line 14... |
Line 34... |
14 |
|
34 |
|
15 |
all:
|
35 |
all:
|
16 |
sed -i -e 's/`BASEEDIT`/`$(alterdb)`/g' \
|
36 |
@sed -i -e 's/`BASEEDIT`/`$(alterdb)`/g' \
|
17 |
-e 's/`BASEANNUAIRE`/`$(annuairedb)`/g' \
|
37 |
-e 's/`BASEANNUAIRE`/`$(annuairedb)`/g' \
|
18 |
-e 's/`BASESOURCE`/`$(sourcedb)`/g' \
|
38 |
-e 's/`BASESOURCE`/`$(sourcedb)`/g' \
|
19 |
$(fichiers)
|
39 |
$(fichiers)
|
20 |
@echo 'Attention: les changements sappliqueront sur la base:'
|
40 |
@echo 'Attention: les changements sappliqueront sur la base:'
|
- |
|
41 |
@grep ^BASEEDIT .current|cut -d '`' -f2
|
Line 21... |
Line 42... |
21 |
@grep ^BASEEDIT .current|cut -d '`' -f2
|
42 |
@echo "utilisez \"make reset\" si ce n'est pas l'opération escomptée"
|
22 |
|
43 |
|
Line 23... |
Line 44... |
23 |
reset:
|
44 |
reset:
|
24 |
svn revert $(fichiers)
|
45 |
svn revert $(fichiers)
|
Line 25... |
Line 46... |
25 |
|
46 |
|
26 |
help:
|
47 |
help:
|
- |
|
48 |
@echo "make [alterdb=<tb_cel_test>] [sourcedb=<tb_eflore>] [annuairedb=<tela_prod_v4>]"
|
- |
|
49 |
|
- |
|
50 |
maj1:
|
- |
|
51 |
@echo 'cat maj-struct-201307.sql maj-cleanup-201307.sql fix-utilisateur-32.sql dedup-ordre-201307.sql|mysql $(alterdb)'
|
- |
|
52 |
|
- |
|
53 |
|
- |
|
54 |
cel_references:
|
- |
|
55 |
@mysqldump -dNq $(alterdb) cel_references 2>/dev/null|grep -q ^CREATE
|
- |
|
56 |
dedup-ordre-201307:
|
- |
|
57 |
@mysql -N $(alterdb)<<<"SELECT distinct ce_utilisateur FROM `cel_obs` GROUP BY ce_utilisateur, ordre HAVING COUNT(*) > 1;"|grep -q .
|
- |
|
58 |
fix-utilisateur-32:
|
- |
|
59 |
@mysql -N $(alterdb)<<<"DESC cel_obs ce_utilisateur"|grep -q 255
|