summaryrefslogtreecommitdiff
path: root/bin/db_assembler/db_assembler.sh
diff options
context:
space:
mode:
Diffstat (limited to 'bin/db_assembler/db_assembler.sh')
-rwxr-xr-xbin/db_assembler/db_assembler.sh100
1 files changed, 65 insertions, 35 deletions
diff --git a/bin/db_assembler/db_assembler.sh b/bin/db_assembler/db_assembler.sh
index ebf6dbc2a3..74902ab729 100755
--- a/bin/db_assembler/db_assembler.sh
+++ b/bin/db_assembler/db_assembler.sh
@@ -27,22 +27,25 @@ fi
function assemble() {
# to lowercase
- database=$1
+ database=${1,,}
start_sql=$2
with_base=$3
with_updates=$4
with_custom=$5
- var_base="DB_"$database"_PATHS"
- base=${!var_base}
+ uc=${database^^}
- var_updates="DB_"$database"_UPDATE_PATHS"
- updates=${!var_updates}
+ name="DB_"$uc"_PATHS"
+ v="$name[@]"
+ base=("${!v}")
- var_custom="DB_"$database"_CUSTOM_PATHS"
- custom=${!var_custom}
+ name="DB_"$uc"_UPDATE_PATHS"
+ v="$name[@]"
+ updates=("${!v}")
- echo $updates
+ name='DB_'$uc'_CUSTOM_PATHS'
+ v="$name[@]"
+ custom=("${!v}")
suffix_base="_base"
@@ -95,11 +98,12 @@ function assemble() {
n="registry__$hash"
if [[ -z ${!n} ]]; then
if [ ! -e $updFile ]; then
- echo "" > $updFile
+ echo "-- assembled updates" > $updFile
fi
printf -v "registry__${hash}" %s "$file"
echo "-- New update sql: "$file
+ echo "-- $file"
cat "$entry" >> $updFile
fi
done
@@ -109,7 +113,7 @@ function assemble() {
fi
if [ $with_custom = true ]; then
- custFile=$OUTPUT_FOLDER$database$suffix_custom"_"$curTime".sql"
+ custFile=$OUTPUT_FOLDER$database$suffix_custom".sql"
if [ ! ${#custom[@]} -eq 0 ]; then
echo "Generating $OUTPUT_FOLDER$database$suffix_custom ..."
@@ -124,19 +128,12 @@ function assemble() {
continue
fi
- file=$(basename "$entry")
- hash=$($MD5_CMD "$entry")
- hash="${hash%% *}" #remove file path
- n="registry__$hash"
- if [[ -z ${!n} ]]; then
- if [ ! -e $custFile ]; then
- echo "" > $custFile
- fi
-
- printf -v "registry__${hash}" %s "$file"
- echo "-- New custom sql: "$file
- cat "$entry" >> $custFile
+ if [[ ! -e $custFile ]]; then
+ echo "-- assembled custom" > "$custFile"
fi
+
+ echo "-- $file" >> $custFile
+ cat "$entry" >> $custFile
done
fi
done
@@ -144,22 +141,55 @@ function assemble() {
fi
}
+function run() {
+ echo "===== STARTING PROCESS ====="
-echo "===== STARTING PROCESS ====="
+ mkdir -p $OUTPUT_FOLDER
- mkdir -p $OUTPUT_FOLDER
+ for db in ${DATABASES[@]}
+ do
+ assemble "$db" $version".sql" $1 $2 $3
+ done
- for db in ${DATABASES[@]}
- do
- assemble "$db" $version".sql" true true true
- done
+ echo "" > $reg_file
- echo "" > $reg_file
+ for k in ${!registry__*}
+ do
+ n=$k
+ echo "$k='${!n}';" >> "$reg_file"
+ done
- for k in ${!registry__*}
- do
- n=$k
- echo "$k='${!n}';" >> "$reg_file"
- done
+ echo "===== DONE ====="
+}
-echo "===== DONE ====="
+PS3='Please enter your choice: '
+options=("Create ALL" "Create only bases" "Create only updates" "Create only customs" "Clean registry" "Quit")
+select opt in "${options[@]}"
+do
+ case $opt in
+ "Create ALL")
+ run true true true
+ break #avoid loop
+ ;;
+ "Create only bases")
+ run true false false
+ break #avoid loop
+ ;;
+ "Create only updates")
+ run false true false
+ break #avoid loop
+ ;;
+ "Create only customs")
+ run false false true
+ break #avoid loop
+ ;;
+ "Clean registry")
+ rm "$reg_file"
+ break #avoid loop
+ ;;
+ "Quit")
+ break
+ ;;
+ *) echo invalid option;;
+ esac
+done