Ein für Shopware 6 vorbereitet Systemmanagment.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

58 lines
2.5 KiB

#!/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