diff options
author | Yehonal <yehonal.azeroth@gmail.com> | 2017-05-01 21:07:12 +0200 |
---|---|---|
committer | Yehonal <yehonal.azeroth@gmail.com> | 2017-05-01 21:17:26 +0200 |
commit | 8836d161ff0fc6e741a9059635e73a38419af673 (patch) | |
tree | 02f583285dd2972bb2e9e49b087999cecbf02f07 /bin | |
parent | 604fa387b53d3d298840026b83caebc891275849 (diff) |
Improved db_assembler simplifying updating process
Implemented a check for versioning column to skip already applied updates
In this way the script can combine all updates under a single sql file
that can be imported directly in any case
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/db_assembler/db_assembler.sh | 38 | ||||
-rwxr-xr-x | bin/db_pendings/import.sh | 4 |
2 files changed, 10 insertions, 32 deletions
diff --git a/bin/db_assembler/db_assembler.sh b/bin/db_assembler/db_assembler.sh index 823bc7b922..425b41a262 100755 --- a/bin/db_assembler/db_assembler.sh +++ b/bin/db_assembler/db_assembler.sh @@ -13,14 +13,6 @@ if [ -f "./config.sh" ]; then source "./config.sh" # should overwrite previous fi -MD5_CMD="md5sum" - -reg_file="$OUTPUT_FOLDER/__db_assembler_registry" - -if [ -f "$reg_file" ]; then - source "$reg_file" -fi - function assemble() { # to lowercase database=${1,,} @@ -73,7 +65,9 @@ function assemble() { fi if [ $with_updates = true ]; then - updFile=$OUTPUT_FOLDER$database$suffix_upd"_"$curTime".sql" + updFile=$OUTPUT_FOLDER$database$suffix_upd".sql" + + echo "" > $updFile if [ ! ${#updates[@]} -eq 0 ]; then echo "Generating $OUTPUT_FOLDER$database$suffix_upd ..." @@ -88,20 +82,8 @@ 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 $updFile ]; then - echo "-- assembled updates" > $updFile - fi - - printf -v "registry__${hash}" %s "$file" - echo "-- New update sql: "$file - echo "-- $file" - cat "$entry" >> $updFile - fi + echo "-- $file" >> $updFile + cat "$entry" >> $updFile done fi done @@ -126,10 +108,6 @@ function assemble() { continue fi - if [[ ! -e $custFile ]]; then - echo "-- assembled custom" > "$custFile" - fi - echo "-- $file" >> $custFile cat "$entry" >> $custFile done @@ -161,7 +139,7 @@ function run() { } PS3='Please enter your choice: ' -options=("Create ALL" "Create only bases" "Create only updates" "Create only customs" "Clean registry" "Quit") +options=("Create ALL" "Create only bases" "Create only updates" "Create only customs" "Quit") select opt in "${options[@]}" do case $opt in @@ -181,10 +159,6 @@ do run false false true break #avoid loop ;; - "Clean registry") - rm "$reg_file" - break #avoid loop - ;; "Quit") break ;; diff --git a/bin/db_pendings/import.sh b/bin/db_pendings/import.sh index 9a059b6f5a..970d762838 100755 --- a/bin/db_pendings/import.sh +++ b/bin/db_pendings/import.sh @@ -63,6 +63,10 @@ function import() { echo "DELIMITER //" >> "$newFile"; echo "CREATE PROCEDURE updateDb ()" >> "$newFile"; echo "proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE';" >> "$newFile"; + echo "SELECT COUNT(*) INTO @COLEXISTS" >> "$newFile"; + echo "FROM information_schema.COLUMNS" >> "$newFile"; + echo "WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_"$db"' AND COLUMN_NAME = '"$oldVer"';" >> "$newFile"; + echo "IF @COLEXISTS = 0 THEN LEAVE proc; END IF;" >> "$newFile"; fi echo "$startTransaction" >> "$newFile"; |