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.
 
 

51 lines
1.8 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"
env="$(getArgument "$1" "Usage: create_database.sh [live|stage|local_live|local_stage]" "live stage local_live local_stage")"
echoMainTitle "Create $env system database"
database_name="$(getConfig "$env" "database_name")"
ssh_user="$(getConfig "$env" "ssh_user")"
ssh_domain="$(getConfig "$env" "ssh_domain")"
is_remote=$(if [ "$env" == "live" ] || [ "$env" == "stage" ]; then echo 1; else echo 0; fi)
if [ "$is_remote" == "1" ]
then
addSSHKey "$env";
scp "$app_dir/etc/$env.my.cnf" "$ssh_user"@"$ssh_domain":"~/$env.my.cnf"
has_database=$(ssh "$ssh_user"@"ssh_domain" "mysql --defaults-extra-file=\"~/$env.my.cnf\" --defaults-group-suffix=\"admin\" -se \"SHOW DATABASES\" | grep \"$database_name\"")
fi
if [ "$is_remote" == "0" ]
then
has_database=$(mysql --defaults-extra-file="$app_dir/etc/$env.my.cnf" --defaults-group-suffix="admin" -se "SHOW DATABASES" | grep "$database_name")
fi
if [ "$has_database" == "" ]
then
create="$(readConsole "The Environment $env has no Database, should i creeate it? [y,n]", "Invalid selection" "y n")"
if [ "$create" == "y" ] && [ "$is_remote" == "1" ]
then
ssh "$ssh_user"@"ssh_domain" "mysql --defaults-extra-file=\"~/$env.my.cnf\" --defaults-group-suffix=\"admin\" -se \"CREATE DATABASE \`$database_name\`\""
elif [ "$create" == "y" ]
then
mysql --defaults-extra-file="$app_dir/etc/$env.my.cnf" --defaults-group-suffix="admin" -se "CREATE DATABASE \`$database_name\`"
fi
fi
if [ "$is_remote" == "1" ]
then
ssh "$ssh_user"@"ssh_domain" "rm \"~/$env.my.cnf\""
fi
echoFinal "... database created"
echo "Running postscript ..."
postScript "$app_dir/bin/postscript/functions/create_database.sh"