#!/bin/bash ### DO NOT EDIT THIS FILE source "$(dirname "${BASH_SOURCE[0]}")/../../includes/includes.sh" app_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." &> /dev/null && pwd) source "$app_dir/etc/config.sh" usage="Usage: import_db.sh [live|stage] (1,0:withGdprData)" env="$(getArgument "$1" "$usage" "live stage")" with_gdpr="$(getArgument "$2" "$usage" "1 0")" echoMainTitle "Importing $env database to local installation" structure_file="$app_dir/var/latest/${env}_structure.sql.gz" data_file="$app_dir/var/latest/${env}_data.sql.gz" gdpr_file="$app_dir/var/latest/${env}_gdpr_data.sql.gz" database_name=$(getConfig "local_$env" "database_name") if [ ! -f "$structure_file" ]; then echoError "Missing structure file - aborting"; fi if [ ! -f "$data_file" ]; then echoError "Missing data file - aborting"; fi if [ ! -f "$gdpr_file" ] && [ "$with_gdpr" == "1" ]; then echoError "Missing GDPR file - aborting"; fi if [ -f "$structure_file" ] && [ -f "$data_file" ] && ([ "$with_gdpr" == "1" ] && [ -f "$gdpr_file" ] || [ "$with_gdpr" == "0" ]) then echo "Uncompress Database ..." gzip -fdc "$app_dir/var/latest/${env}_structure.sql.gz" > "$app_dir/var/tmp/${env}_structure.sql" gzip -dfc "$app_dir/var/latest/${env}_data.sql.gz" > "$app_dir/var/tmp/${env}_data.sql" if [ "$with_gdpr" == "1" ]; then gzip -dfc "$app_dir/var/latest/${env}_gdpr_data.sql.gz" > "$app_dir/var/tmp/${env}_gdpr_data.sql"; fi echo "Drop local tables ..." mysqldump --defaults-extra-file="$app_dir/etc/local.my.cnf" --add-drop-table --add-drop-trigger --no-data "$database_name" | \ grep -e '[DROP TABLE|DROP TRIGGER]' >> "$app_dir/var/tmp/${env}_drop_local.sql" echo "SET FOREIGN_KEY_CHECKS = 1;" >> "$app_dir/var/tmp/${env}_drop_local.sql" mysql --defaults-extra-file="$app_dir/etc/local.my.cnf" -D "$database_name" < "$app_dir/var/tmp/${env}_drop_local.sql" rm "$app_dir/var/tmp/${env}_drop_local.sql" echo "Import structure ..." mysql --defaults-extra-file="$app_dir/etc/local.my.cnf" -D "$database_name" < "$app_dir/var/tmp/${env}_structure.sql" echo "Import data ..." mysql --defaults-extra-file="$app_dir/etc/local.my.cnf" -D "$database_name" < "$app_dir/var/tmp/${env}_data.sql" if [ "$with_gdpr" == "1" ] then echo "Import GDPR ..." mysql --defaults-extra-file="$app_dir/etc/local.my.cnf" -D "$database_name" < "$app_dir/var/tmp/${env}_gdpr_data.sql" fi echo "Cleanup ..." rm "$structure_file" rm "$data_file" rm "$gdpr_file" fi