Line 40... |
Line 40... |
40 |
isfan ?= 2013
|
40 |
isfan ?= 2013
|
41 |
bdtfx_table = bdtfx_v$(bdtfx)
|
41 |
bdtfx_table = bdtfx_v$(bdtfx)
|
42 |
bdtxa_table = bdtxa_v$(bdtxa)
|
42 |
bdtxa_table = bdtxa_v$(bdtxa)
|
43 |
isfan_table = isfan_v$(isfan)
|
43 |
isfan_table = isfan_v$(isfan)
|
Line -... |
Line 44... |
- |
|
44 |
|
- |
|
45 |
# TODO: simply override bdd_user
|
- |
|
46 |
ifdef bdd_user
|
- |
|
47 |
bdd_user_h = -u$(bdd_user)
|
- |
|
48 |
endif
|
- |
|
49 |
|
- |
|
50 |
ifneq ($(origin bdd_pass), undefined)
|
- |
|
51 |
bdd_pass_h = "-p$(bdd_pass)"
|
- |
|
52 |
endif
|
- |
|
53 |
|
- |
|
54 |
mysqlbin ?= mysql
|
- |
|
55 |
mysqlcmd = $(mysqlbin) $(bdd_user_h) $(bdd_pass_h)
|
44 |
|
56 |
|
45 |
# macro utilisable pour les targets nécessitant de tester la présence d'un couple (base,table)
|
57 |
# macro utilisable pour les targets nécessitant de tester la présence d'un couple (base,table)
|
46 |
# exemples:
|
58 |
# exemples:
|
47 |
# * $(call is_table,tb_eflore,bdtfx_v1_01)
|
59 |
# * $(call is_table,tb_eflore,bdtfx_v1_01)
|
48 |
# * $(call is_table,$(annuairedb),annuaire_tela)
|
60 |
# * $(call is_table,$(annuairedb),annuaire_tela)
|
49 |
# argument 1: base de données
|
61 |
# argument 1: base de données
|
50 |
# argument 2: table
|
62 |
# argument 2: table
|
Line 51... |
Line 63... |
51 |
is_table = @mysql -N $(1) <<<"DESC $(2)" &> /dev/null
|
63 |
is_table = $(mysqlcmd) -N $(1) <<<"DESC $(2)" &> /dev/null
|
52 |
|
64 |
|
53 |
# macro utilisable pour effectuer des substitutions:
|
65 |
# macro utilisable pour effectuer des substitutions:
|
54 |
do_subst = sed -e "1i--\n-- fichier d'origine: \"${1}\"\n" \
|
66 |
do_subst = sed -e "1i--\n-- fichier d'origine: \"${1}\"\n" \
|
Line 61... |
Line 73... |
61 |
-e 's/TABLEBDTFX/`$(bdtfx_table)`/g' \
|
73 |
-e 's/TABLEBDTFX/`$(bdtfx_table)`/g' \
|
62 |
-e 's/TABLEBDTXA/`$(bdtxa_table)`/g' \
|
74 |
-e 's/TABLEBDTXA/`$(bdtxa_table)`/g' \
|
63 |
-e 's/TABLEISFAN/`$(isfan_table)`/g' \
|
75 |
-e 's/TABLEISFAN/`$(isfan_table)`/g' \
|
64 |
$(1)
|
76 |
$(1)
|
Line -... |
Line 77... |
- |
|
77 |
|
- |
|
78 |
# default target
|
- |
|
79 |
help:
|
- |
|
80 |
@echo "make [alterdb=<$(alterdb)>] [sourcedb=<$(sourcedb)>] [annuairedb=<$(annuairedb)>] [bdtfx=<$(bdtfx)>] [bdtxa=<$(bdtxa)>] [isfan=$(isfan)] [bdd_user=\"\"] [bdd_pass=\"\"] [mysqlbin=mysql]"
|
- |
|
81 |
@echo "make o_maj1 mysqlbin=/usr/local/mysql/bin/mysql bdd_user=telabotap bdd_pass=XXX"
|
65 |
|
82 |
|
66 |
# génère les fichiers avec les bases de données souhaitées
|
83 |
# génère les fichiers avec les bases de données souhaitées
|
67 |
compile: reset
|
84 |
compile: reset
|
68 |
@sed -i -e 's/`BASEEDIT`/`$(alterdb)`/g' \
|
85 |
sed -i -e 's/`BASEEDIT`/`$(alterdb)`/g' \
|
69 |
-e 's/`BASEANNUAIRE`/`$(annuairedb)`/g' \
|
86 |
-e 's/`BASEANNUAIRE`/`$(annuairedb)`/g' \
|
70 |
-e 's/`BASESOURCE`/`$(sourcedb)`/g' \
|
87 |
-e 's/`BASESOURCE`/`$(sourcedb)`/g' \
|
71 |
-e 's/TABLEBDTFX/`$(bdtfx_table)`/g' \
|
88 |
-e 's/TABLEBDTFX/`$(bdtfx_table)`/g' \
|
72 |
-e 's/TABLEBDTXA/`$(bdtxa_table)`/g' \
|
89 |
-e 's/TABLEBDTXA/`$(bdtxa_table)`/g' \
|
73 |
-e 's/`TABLEISFAN`/`$(isfan_table)`/g' \
|
90 |
-e 's/`TABLEISFAN`/`$(isfan_table)`/g' \
|
74 |
$(fichiers)
|
91 |
$(fichiers)
|
75 |
@printf "Attention: les changements s'appliqueront sur la base \"%s\"\nLes sources utilisées seront: annuaire=\"%s\" , sources=\"%s\" (%s,%s,%s)\n(Ctrl+C pour interrompre, Enter pour continuer)\n" \
|
92 |
printf "Attention: les changements s'appliqueront sur la base \"%s\"\nLes sources utilisées seront: annuaire=\"%s\" , sources=\"%s\" (%s,%s,%s)\n(Ctrl+C pour interrompre, Enter pour continuer)\n" \
|
76 |
`grep ^BASEEDIT .current|cut -d '\`' -f2` \
|
93 |
`grep ^BASEEDIT .current|cut -d '\`' -f2` \
|
77 |
`grep ^BASEANNUAIRE .current|cut -d '\`' -f2` \
|
94 |
`grep ^BASEANNUAIRE .current|cut -d '\`' -f2` \
|
78 |
`grep ^BASESOURCE .current|cut -d '\`' -f2` \
|
95 |
`grep ^BASESOURCE .current|cut -d '\`' -f2` \
|
79 |
`grep ^TABLE_BDTFX .current|cut -d '=' -f2` \
|
96 |
`grep ^TABLE_BDTFX .current|cut -d '=' -f2` \
|
80 |
`grep ^TABLE_BDTXA .current|cut -d '=' -f2` \
|
97 |
`grep ^TABLE_BDTXA .current|cut -d '=' -f2` \
|
81 |
`grep ^TABLE_ISFAN .current|cut -d '=' -f2`
|
98 |
`grep ^TABLE_ISFAN .current|cut -d '=' -f2`
|
Line 82... |
Line 99... |
82 |
@read
|
99 |
read
|
83 |
|
100 |
|
Line 84... |
Line 101... |
84 |
reset:
|
101 |
reset:
|
85 |
svn revert -q $(fichiers)
|
102 |
svn revert -q $(fichiers)
|
86 |
|
103 |
|
Line 87... |
Line -... |
87 |
# supprime les fichiers "compilés" (concaténation de plusieurs scripts SQL substitués)
|
- |
|
88 |
clean:
|
- |
|
89 |
rm -f *.comp.sql
|
- |
|
90 |
|
- |
|
91 |
help:
|
104 |
# supprime les fichiers "compilés" (concaténation de plusieurs scripts SQL substitués)
|
Line 92... |
Line 105... |
92 |
@echo "make [alterdb=<tb_cel_test>] [sourcedb=<tb_eflore>] [annuairedb=<tela_prod_v4>] [bdtfx=<1_01>] [bdtxa=<1_00>]"
|
105 |
clean:
|
93 |
|
106 |
rm -f *.comp.sql
|
94 |
|
107 |
|
95 |
### mises à jour
|
108 |
### mises à jour
|
96 |
|
109 |
|
97 |
# mise à jour de septembre 2013
|
110 |
# mise à jour de septembre 2013
|
Line 98... |
Line 111... |
98 |
# spécifier dans les targets l'ordre (cf A_LIRE.txt)
|
111 |
# spécifier dans les targets l'ordre (cf A_LIRE.txt)
|
99 |
# attention, si un prérequis ne génère pas de SQL, cela n'empêchera pas le fichier
|
112 |
# attention, si un prérequis ne génère pas de SQL, cela n'empêchera pas le fichier
|
100 |
# final de maj d'être généré (bien,
|
113 |
# final de maj d'être généré (bien,
|
101 |
maj1: compile cel_references maj-struct-201307 maj-cleanup-201307 fix-utilisateur-32 dedup-ordre-201307 maj-referentiel-201307
|
114 |
maj1: compile cel_references maj-struct-201307 maj-cleanup-201307 fix-utilisateur-32 dedup-ordre-201307 maj-referentiel-201307
|
Line 102... |
Line 115... |
102 |
@echo done
|
115 |
echo done
|
Line 103... |
Line 116... |
103 |
|
116 |
|
Line 126... |
Line 139... |
126 |
### Cette méthode est de loin préférable et conforme à la philosophie Makefile
|
139 |
### Cette méthode est de loin préférable et conforme à la philosophie Makefile
|
127 |
cel_references:
|
140 |
cel_references:
|
128 |
$(call is_table,$(sourcedb),$(bdtfx_table))
|
141 |
$(call is_table,$(sourcedb),$(bdtfx_table))
|
129 |
$(call is_table,$(sourcedb),nvjfl_v2007)
|
142 |
$(call is_table,$(sourcedb),nvjfl_v2007)
|
130 |
$(call is_table,$(sourcedb),nva_index_v2_03)
|
143 |
$(call is_table,$(sourcedb),nva_index_v2_03)
|
131 |
$(call is_table,$(alterdb),cel_references) || mysql < cel_references.sql
|
144 |
$(call is_table,$(alterdb),cel_references) || $(mysqlcmd) < cel_references.sql
|
132 |
o_cel_references:
|
145 |
o_cel_references:
|
133 |
$(call is_table,$(sourcedb),$(bdtfx_table))
|
146 |
$(call is_table,$(sourcedb),$(bdtfx_table))
|
134 |
$(call is_table,$(sourcedb),nvjfl_v2007)
|
147 |
$(call is_table,$(sourcedb),nvjfl_v2007)
|
135 |
$(call is_table,$(sourcedb),nva_index_v2_03)
|
148 |
$(call is_table,$(sourcedb),nva_index_v2_03)
|
136 |
$(call is_table,$(alterdb),cel_references) || $(call do_subst,cel_references.sql) > $@.comp.sql
|
149 |
$(call is_table,$(alterdb),cel_references) || $(call do_subst,cel_references.sql) > $@.comp.sql
|
Line 137... |
Line 150... |
137 |
|
150 |
|
138 |
maj-struct-201307: check_cel_obs
|
151 |
maj-struct-201307: check_cel_obs
|
139 |
$(call is_table,$(annuairedb),annuaire_tela)
|
152 |
$(call is_table,$(annuairedb),annuaire_tela)
|
140 |
@mysql -N $(alterdb) <<<"DESC cel_obs nom_sel"|grep -q 601 || mysql < maj-struct-201307.sql
|
153 |
$(mysqlcmd) -N $(alterdb) <<<"DESC cel_obs nom_sel"|grep -q 601 || $(mysqlcmd) < maj-struct-201307.sql
|
141 |
o_maj-struct-201307: check_cel_obs
|
154 |
o_maj-struct-201307: check_cel_obs
|
142 |
$(call is_table,$(annuairedb),annuaire_tela)
|
155 |
$(call is_table,$(annuairedb),annuaire_tela)
|
Line 143... |
Line 156... |
143 |
@mysql -N $(alterdb) <<<"DESC cel_obs nom_sel"|grep -q 601 || $(call do_subst,maj-struct-201307.sql) > $@.comp.sql
|
156 |
$(mysqlcmd) -N $(alterdb) <<<"DESC cel_obs nom_sel"|grep -q 601 || $(call do_subst,maj-struct-201307.sql) > $@.comp.sql
|
144 |
|
157 |
|
145 |
maj-cleanup-201307: check_cel_obs
|
158 |
maj-cleanup-201307: check_cel_obs
|
- |
|
159 |
! $(mysqlcmd) -N $(alterdb) <<<"SELECT 1 FROM cel_obs WHERE nom_ret = 'null' LIMIT 1"|grep -q 1 || $(mysqlcmd) < maj-cleanup-201307.sql
|
146 |
@ ! mysql -N $(alterdb) <<<"SELECT 1 FROM cel_obs WHERE nom_ret = 'null' LIMIT 1"|grep -q 1 || mysql < maj-cleanup-201307.sql
|
160 |
o_maj-cleanup-201307:
|
- |
|
161 |
# tb_cel_test clean
|
Line 147... |
Line 162... |
147 |
o_maj-cleanup-201307:
|
162 |
# ! $(mysqlcmd) -N $(alterdb) <<<"SELECT 1 FROM cel_obs WHERE nom_ret = 'null' LIMIT 1"|grep -q 1 || $(call do_subst,maj-cleanup-201307.sql) > $@.comp.sql
|
148 |
@ ! mysql -N $(alterdb) <<<"SELECT 1 FROM cel_obs WHERE nom_ret = 'null' LIMIT 1"|grep -q 1 || $(call do_subst,maj-cleanup-201307.sql) > $@.comp.sql
|
163 |
$(call do_subst,maj-cleanup-201307.sql) > $@.comp.sql
|
149 |
|
164 |
|
150 |
fix-utilisateur-32: check_cel_obs
|
165 |
fix-utilisateur-32: check_cel_obs
|
Line 151... |
Line 166... |
151 |
@mysql -N $(alterdb) <<<"DESC cel_obs ce_utilisateur"|grep -q 255 || mysql < fix-utilisateur-32.sql
|
166 |
$(mysqlcmd) -N $(alterdb) <<<"DESC cel_obs ce_utilisateur"|grep -q 255 || $(mysqlcmd) < fix-utilisateur-32.sql
|
152 |
o_fix-utilisateur-32: check_cel_obs
|
167 |
o_fix-utilisateur-32: check_cel_obs
|
153 |
@mysql -N $(alterdb) <<<"DESC cel_obs ce_utilisateur"|grep -q 255 || $(call do_subst,fix-utilisateur-32.sql) > $@.comp.sql
|
168 |
$(mysqlcmd) -N $(alterdb) <<<"DESC cel_obs ce_utilisateur"|grep -q 255 || $(call do_subst,fix-utilisateur-32.sql) > $@.comp.sql
|
154 |
|
169 |
|
155 |
dedup-ordre-201307: check_cel_obs
|
170 |
dedup-ordre-201307: check_cel_obs
|
Line 156... |
Line 171... |
156 |
#@mysql -N $(alterdb) <<<'SELECT distinct ce_utilisateur FROM `cel_obs` GROUP BY ce_utilisateur, ordre HAVING COUNT(*) > 1'|grep -q . || mysql < dedup-ordre-201307.sql
|
171 |
#$(mysqlcmd) -N $(alterdb) <<<'SELECT distinct ce_utilisateur FROM `cel_obs` GROUP BY ce_utilisateur, ordre HAVING COUNT(*) > 1'|grep -q . || $(mysqlcmd) < dedup-ordre-201307.sql
|
157 |
@mysql -N $(alterdb) <<<"SHOW INDEX FROM cel_obs"|grep -q couple_user_ordre || mysql < dedup-ordre-201307.sql
|
172 |
$(mysqlcmd) -N $(alterdb) <<<"SHOW INDEX FROM cel_obs"|grep -q couple_user_ordre || $(mysqlcmd) < dedup-ordre-201307.sql
|
158 |
o_dedup-ordre-201307: check_cel_obs
|
173 |
o_dedup-ordre-201307: check_cel_obs
|
159 |
@mysql -N $(alterdb) <<<"SHOW INDEX FROM cel_obs"|grep -q couple_user_ordre || $(call do_subst,dedup-ordre-201307.sql) > $@.comp.sql
|
174 |
$(mysqlcmd) -N $(alterdb) <<<"SHOW INDEX FROM cel_obs"|grep -q couple_user_ordre || $(call do_subst,dedup-ordre-201307.sql) > $@.comp.sql
|
Line 170... |
Line 185... |
170 |
|
185 |
|
171 |
|
186 |
|
172 |
|
187 |
|
173 |
# pour une prochaine maj
|
188 |
# pour une prochaine maj
|
174 |
maj-nom-ret:
|
189 |
maj-nom-ret:
|