blob: 2a29e2f3f6156d1cfae49b0013636af615e14388 (
plain)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
#!/bin/bash
SRCPATH=$(readlink -f "../../")
#
# You can pass latest version as first argument of this script
#
if [ -z "$1" ]; then
read -p "Enter latest sql version ( leave blank to use : 0000_00_00_00 )" $version
version=${version:-0000_00_00_00}
else
version=$1
fi
source "./config.sh.dist" # "hack" to avoid missing conf variables
if [ -f "./config.sh" ]; then
source "./config.sh" # should overwrite previous
fi
echo "===== STARTING PROCESS ====="
gtversion=""
function assemble() {
database=$1
start_sql=$2
var_full="DB_"$database"_PATHS"
full=${!var_full}
var_updates="DB_"$database"_UPDATE_PATHS"
updates=${!var_updates}
var_custom="DB_"$database"_CUSTOM_PATHS"
custom=${!var_custom}
suffix_base=""
suffix_upd=""
suffix_custom=""
if (( $ALL_IN_ONE == 0 )); then
suffix_base="_base"
fi;
echo "" > $OUTPUT_FOLDER$database$suffix_base".sql"
if [ ! ${#full[@]} -eq 0 ]; then
echo "Generating $OUTPUT_FOLDER$database$suffix_based ..."
for entry in "${full[@]}"
do
if [ ! -z $entry ]; then
if [ -e $entry ]; then
cat "$entry" >> $OUTPUT_FOLDER$database$suffix_base".sql"
fi
fi
done
fi
if (( $ALL_IN_ONE == 0 )); then
suffix_upd="_updates"
echo "" > $OUTPUT_FOLDER$database$suffix_upd".sql"
fi;
if [ ! ${#updates[@]} -eq 0 ]; then
echo "Generating $OUTPUT_FOLDER$database$suffix_upd ..."
for d in "${updates[@]}"
do
for entry in "$d"/*.sql "$d"/**/*.sql
do
if [ ! -z $d ]; then
file=$(basename $entry)
if [[ "$file" > "$start_sql" ]]
then
if [ -e $entry ]; then
if [[ "$gtversion" < "$file" ]]; then
gtversion=$file
fi
cat "$entry" >> $OUTPUT_FOLDER$database$suffix_upd".sql"
fi
fi
fi
done
done
fi
if (( $ALL_IN_ONE == 0 )); then
suffix_custom="_custom"
echo "" > $OUTPUT_FOLDER$database$suffix_custom".sql"
fi;
if [ ! ${#custom[@]} -eq 0 ]; then
echo "Generating $OUTPUT_FOLDER$database$suffix_custom ..."
for d in "${custom[@]}"
do
if [ ! -z $d ]; then
for entry in "$d"/*.sql "$d"/**/*.sql
do
if [ -e $entry ]; then
cat "$entry" >> $OUTPUT_FOLDER$database$suffix_custom".sql"
fi
done
fi
done
fi
}
mkdir -p $OUTPUT_FOLDER
for db in ${DATABASES[@]}
do
assemble "$db" $version".sql"
done
rm $OUTPUT_FOLDER"ZZZ_latest_version_"*
echo $gtversion > $OUTPUT_FOLDER"ZZZ_latest_version_"${gtversion%.*}
echo "===== DONE ====="
|