Sven Ullmann
2 years ago
16 changed files with 658 additions and 3 deletions
-
199.etc/config.sh
-
4.etc/live.my.cnf
-
9.etc/local.my.cnf
-
4.etc/stage.my.cnf
-
6.gitignore
-
0.ssh/.keep
-
37README.md
-
0backup/database/.keep
-
79bin/commands/import_db.sh
-
26bin/commands/import_media.sh
-
31bin/commands/make_local_database.sh
-
162bin/includes/includes.sh
-
104bin/manager
-
0bin/postscripts/.keep
-
0etc/.keep
-
0git/.keep
@ -0,0 +1,199 @@ |
|||
#!/bin/bash |
|||
|
|||
### DONT OVERWRITE THIS FILE |
|||
|
|||
app_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." &> /dev/null && pwd) |
|||
|
|||
|
|||
### GENERAL |
|||
|
|||
|
|||
project_name='www.domain.de' |
|||
shopware_version='6' |
|||
|
|||
|
|||
### STAGE |
|||
|
|||
|
|||
stage_use_git='y' # if the stage system is deployed using git |
|||
|
|||
stage_ssh_user='your-user' |
|||
stage_ssh_domain='your-domain' |
|||
stage_ssh_has_key_file='y' |
|||
stage_ssh_key_file='/path/to/.ssh/key' |
|||
|
|||
stage_httpdocs_path='/var/www/vhosts/domain.de/httpdocs' |
|||
stage_httpdocs_slug='/shopware' # optional slug if you install the software not directly in httpdocs |
|||
|
|||
stage_database_has_socket='n' |
|||
stage_database_socket='' |
|||
stage_database_host='localhost' |
|||
stage_database_port='3306' |
|||
stage_database_name='database_name' |
|||
stage_database_user='database_user' |
|||
stage_database_password='database_password' |
|||
|
|||
# only needed if you want to create a database |
|||
stage_database_admin_user='' |
|||
stage_database_admin_password='' |
|||
|
|||
|
|||
### LIVE |
|||
|
|||
|
|||
live_use_git='y' |
|||
|
|||
live_ssh_user='user' |
|||
live_ssh_domain='domain.de' |
|||
live_ssh_has_key_file='n' |
|||
live_ssh_key_file='' |
|||
|
|||
live_httpdocs_path='/var/www/vhosts/domain.de/httpdocs' |
|||
live_httpdocs_slug='' |
|||
|
|||
live_database_has_socket='n' |
|||
live_database_socket='' |
|||
live_database_host='localhost' |
|||
live_database_port='3306' |
|||
live_database_name='name' |
|||
live_database_user='user' |
|||
live_database_password='password' |
|||
|
|||
# only needed if you want to create a database |
|||
live_database_admin_user='' |
|||
live_database_admin_password='' |
|||
|
|||
|
|||
### LOCAL STAGE |
|||
|
|||
|
|||
local_stage_use_git='y' # if you don't work with the git working copy / you can sync local htdocs/. with git repo |
|||
local_stage_slug='/shopware' |
|||
|
|||
local_stage_database_has_socket='n' |
|||
local_stage_database_socket='' |
|||
local_stage_database_host='localhost' |
|||
local_stage_database_port='3306' |
|||
local_stage_database_name='name_stage' |
|||
local_stage_database_user='user' |
|||
local_stage_database_password='password' |
|||
|
|||
# only needed if you can't create database and want to create a database |
|||
local_stage_database_admin_user='' |
|||
local_stage_database_admin_password='' |
|||
|
|||
|
|||
### LOCAL LIVE |
|||
|
|||
|
|||
local_live_use_git='y' |
|||
local_live_slug='/shopware' |
|||
|
|||
local_live_database_has_socket='n' |
|||
local_live_database_socket='' |
|||
local_live_database_host='localhost' |
|||
local_live_database_port='3306' |
|||
local_live_database_name='name_live' |
|||
local_live_database_user='user' |
|||
local_live_database_password='password' |
|||
|
|||
# only needed if you can't create database and want to create a database |
|||
local_live_database_admin_user='' |
|||
local_live_database_admin_password='' |
|||
|
|||
|
|||
### SHOPWARE USER |
|||
|
|||
|
|||
local_shopware_user='user' |
|||
local_shopware_email='email' |
|||
local_shopware_firstname='Name' |
|||
local_shopware_lastname='Lastname' |
|||
|
|||
|
|||
### GIT |
|||
|
|||
|
|||
git_has_ssh_key_file='n' |
|||
git_ssh_key_file='' |
|||
git_url='' |
|||
|
|||
# you can update stage with data from live |
|||
live_to_stage_live_urls=("https://www.domain.de") |
|||
live_to_stage_stage_urls=("https://stage.domain.de") |
|||
|
|||
# if you copy the stage state to local |
|||
stage_to_local_stage_urls=("https://stage.domain.de") |
|||
stage_to_local_local_urls=("https://localhost/domain.de/stage.domain.de") |
|||
|
|||
# here more complete, copy the live system to local |
|||
live_to_local_live_urls=( |
|||
"http://www.domain.de" |
|||
"https://www.domain.de" |
|||
) |
|||
live_to_local_local_urls=( |
|||
"http://localhost/martins-domain.de/www.domain.de" |
|||
"https://localhost/domain.de/www.domain.de" |
|||
) |
|||
|
|||
|
|||
### GDPR SHOPWARE 6 TABLES |
|||
|
|||
|
|||
gdpr_tables=( |
|||
acl_user_role |
|||
cart |
|||
customer |
|||
customer_address |
|||
customer_recovery |
|||
customer_tag |
|||
customer_wishlist |
|||
customer_wishlist_product |
|||
elasticsearch_index_task |
|||
import_export_log |
|||
integration |
|||
integration_role |
|||
log_entry |
|||
message_queue_stats |
|||
newsletter_recipient |
|||
newsletter_recipient_tag |
|||
order |
|||
order_address |
|||
order_customer |
|||
order_delivery |
|||
order_delivery_position |
|||
order_line_item |
|||
order_tag |
|||
order_transaction |
|||
product_export |
|||
product_review |
|||
promotion_persona_customer |
|||
refresh_token |
|||
sales_channel_api_context |
|||
state_machine_history |
|||
user |
|||
user_access_key |
|||
user_config |
|||
user_recovery |
|||
version |
|||
version_commit |
|||
version_commit_data |
|||
klarna_payment_request_log |
|||
payone_payment_card |
|||
payone_payment_mandate |
|||
payone_payment_redirect |
|||
unzer_payment_payment_device |
|||
unzer_payment_transfer_info |
|||
enqeueue |
|||
product_keyword_dictionary |
|||
product_search_keyword |
|||
) |
|||
|
|||
|
|||
### POST SCRIPT |
|||
|
|||
|
|||
if [ -f "$app_dir/bin/post_config.sh" ] |
|||
then |
|||
source "$app_dir/bin/post_config.sh" |
|||
fi |
@ -0,0 +1,4 @@ |
|||
[mysqldump] |
|||
user= |
|||
password= |
|||
max_allowed_packet=500M |
@ -0,0 +1,9 @@ |
|||
[mysql] |
|||
user= |
|||
password= |
|||
max_allowed_packet=500M |
|||
|
|||
[mysqldump] |
|||
user= |
|||
password= |
|||
max_allowed_packet=500M |
@ -0,0 +1,4 @@ |
|||
[mysqldump] |
|||
user= |
|||
password= |
|||
max_allowed_packet=500M |
@ -1,3 +1,7 @@ |
|||
.idea |
|||
|
|||
.ssh |
|||
backup |
|||
bin/postscripts |
|||
etc |
|||
var |
|||
!.keep |
@ -1,3 +1,36 @@ |
|||
# sw6-project-setup |
|||
# Project |
|||
|
|||
Ein für Shopware 6 vorbereitet Systemmanagment. |
|||
This are the most stable parts of the project manager, stay tuned... |
|||
|
|||
## Installation |
|||
|
|||
- First copy files from ".etc" to "etc" |
|||
- Configure etc files |
|||
- Start manager |
|||
|
|||
|
|||
bin/manager |
|||
|
|||
## Modify |
|||
|
|||
Replace {script-name} with the name of the script wich is located in bin/commands |
|||
|
|||
etc/post_config.sh |
|||
bin/postscripts/{script_name}.sh |
|||
|
|||
## Commands |
|||
|
|||
### Import Database |
|||
|
|||
Usage: import_db.sh [live|stage] |
|||
|
|||
### Make changes to the new local database (URL's and Admin-User) |
|||
|
|||
Usage: make_local_database.sh [live|stage] |
|||
|
|||
### Import media files |
|||
|
|||
Usage: import_media.sh [live|stage] /path/to/files |
|||
|
|||
import_media.sh stage /files |
|||
import_media.sh stage /public/media |
@ -0,0 +1,79 @@ |
|||
#!/bin/bash |
|||
|
|||
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]" |
|||
env=$(getArgument $1 "$usage" "live stage") |
|||
currentDate=$(date '+%Y-%m-%d_%H:%M:%S') |
|||
|
|||
addSSHKey "$env" |
|||
ssh_user="$(eval "echo \$${env}_ssh_user")" |
|||
ssh_domain="$(eval "echo \$${env}_ssh_domain")" |
|||
|
|||
ignoredTablesArguments=$(buildIgnoredTablesArguments "$env" "${gdpr_tables[*]}") |
|||
|
|||
echo "Fetching Database ..." |
|||
|
|||
database_name=$(eval "echo \$${env}_database_name") |
|||
local_database_name=$(eval "echo \"\$local_${env}_database_name\"") |
|||
|
|||
scp "$app_dir/etc/$env.my.cnf" "$ssh_user"@"$ssh_domain":"~/$env.my.cnf" |
|||
ssh "$ssh_user"@"$ssh_domain" "mysqldump --defaults-extra-file=~/$env.my.cnf --no-tablespaces --no-data \ |
|||
\"$database_name\" | LANG=C LC_CTYPE=C LC_ALL=C sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' | \ |
|||
sed -e 's/,NO_AUTO_CREATE_USER//' | gzip -9 > ~/${env}_structure.sql.gz" |
|||
scp "$ssh_user"@"$ssh_domain":"~/${env}_structure.sql.gz" "$app_dir/var/tmp/${env}_structure.sql.gz" |
|||
ssh "$ssh_user"@"$ssh_domain" "unlink ~/${env}_structure.sql.gz" |
|||
ssh "$ssh_user"@"$ssh_domain" "mysqldump --defaults-extra-file=~/${env}.my.cnf --no-tablespaces --no-create-info \ |
|||
--skip-triggers $ignoredTablesArguments \"$database_name\" | LANG=C LC_CTYPE=C LC_ALL=C \ |
|||
sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' | gzip -9 > ~/${env}_data.sql.gz" |
|||
scp "$ssh_user"@"$ssh_domain":"~/${env}_data.sql.gz" "$app_dir/var/tmp/${env}_data.sql.gz" |
|||
ssh "$ssh_user"@"$ssh_domain" "unlink ~/${env}_data.sql.gz" |
|||
ssh "$ssh_user"@"$ssh_domain" "unlink ~/${env}.my.cnf" |
|||
|
|||
echo "Backup Database ..." |
|||
|
|||
mysqldump --defaults-extra-file="$app_dir/etc/local.my.cnf" --no-tablespaces --hex-blob --no-data "$local_database_name" | \ |
|||
LANG=C LC_CTYPE=C LC_ALL=C sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' | sed -e 's/,NO_AUTO_CREATE_USER//' | gzip -9 > \ |
|||
"$app_dir/backup/database/${currentDate}_local_${env}_structure.sql.gz" |
|||
|
|||
mysqldump --defaults-extra-file="$app_dir/etc/local.my.cnf" --no-tablespaces --no-create-info --skip-triggers --hex-blob "$local_database_name" | \ |
|||
LANG=C LC_CTYPE=C LC_ALL=C sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' | gzip -9 > \ |
|||
"$app_dir/backup/database/${currentDate}_local_${env}_data.sql.gz" |
|||
|
|||
cp "$app_dir/var/tmp/${env}_structure.sql.gz" "$app_dir/backup/database/${currentDate}_${env}_structure.sql.gz" |
|||
cp "$app_dir/var/tmp/${env}_data.sql.gz" "$app_dir/backup/database/${currentDate}_${env}_data.sql.gz" |
|||
|
|||
echo "Uncompress Database ..." |
|||
gzip --force -d "$app_dir/var/tmp/${env}_structure.sql.gz" |
|||
gzip --force -d "$app_dir/var/tmp/${env}_data.sql.gz" |
|||
|
|||
echo "Install Database ..." |
|||
|
|||
mysql --defaults-extra-file="$app_dir/etc/local.my.cnf" -e "CREATE DATABASE IF NOT EXISTS \`$local_database_name\`;" |
|||
|
|||
echo "Remove Tables ..." |
|||
mysqldump --defaults-extra-file="$app_dir/etc/local.my.cnf" --add-drop-table --add-drop-trigger --no-data "$local_database_name" | \ |
|||
grep -e '[DROP TABLE|DROP TRIGGER]' >> "$app_dir/var/tmp/drop_local_$env.sql" |
|||
echo "SET FOREIGN_KEY_CHECKS = 1;" >> "$app_dir/var/tmp/drop_local_$env.sql" |
|||
mysql --defaults-extra-file="$app_dir/etc/local.my.cnf" -D "$local_database_name" < "$app_dir/var/tmp/drop_local_$env.sql" |
|||
|
|||
echo "Import Structure ..." |
|||
mysql --defaults-extra-file="$app_dir/etc/local.my.cnf" -D "$local_database_name" < "$app_dir/var/tmp/${env}_structure.sql" |
|||
|
|||
echo "Import Data ..." |
|||
mysql --defaults-extra-file="$app_dir/etc/local.my.cnf" -D "$local_database_name" < "$app_dir/var/tmp/${env}_data.sql" |
|||
|
|||
echo "Post Scripts ..." |
|||
postScript "$app_dir/bin/postscripts/import_db.sh" |
|||
|
|||
"$app_dir/bin/commands/make_local_database.sh" "$env" |
|||
|
|||
echo "Cleanup ..." |
|||
|
|||
rm "$app_dir/var/tmp/drop_local_$env.sql" |
|||
rm "$app_dir/var/tmp/${env}_structure.sql" |
|||
rm "$app_dir/var/tmp/${env}_data.sql" |
|||
|
|||
echo |
@ -0,0 +1,26 @@ |
|||
#!/bin/bash |
|||
|
|||
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: import_media.sh [live|stage] /path/to/files" "live stage") |
|||
filepath=$(getArgument "$2" "Usage: import_media.sh [live|stage] /path/to/files" "/files /public/media") |
|||
addSSHKey "$env" |
|||
ssh_user="$(eval "echo \$${env}_ssh_user")" |
|||
ssh_domain="$(eval "echo \$${env}_ssh_domain")" |
|||
slug="$(eval "echo \"\$local_${env}_slug\"")" |
|||
|
|||
source="$(eval "echo \"\$${env}_httpdocs_path\$${env}_httpdocs_slug\$filepath/.\"")" |
|||
target="$app_dir/git/${project_name}${slug}${filepath}/." |
|||
|
|||
echo |
|||
echoMainTitle "Fetching $filepath files from $env" |
|||
|
|||
echo |
|||
echo "Fetch Files ..." |
|||
rsync -auvzqLK --delete "$ssh_user"@"$ssh_domain":"$source" "$target" |
|||
|
|||
postScript "$app_dir/bin/postscripts/import_media.sh" |
|||
|
|||
echo |
@ -0,0 +1,31 @@ |
|||
#!/bin/bash |
|||
|
|||
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: make_local_database.sh [live|stage]" |
|||
env=$(getArgument "$1" "$usage" "live stage") |
|||
local_database_name=$(eval "echo \"\$local_${env}_database_name\"") |
|||
|
|||
echo |
|||
echoMainTitle "Make Local Database" |
|||
|
|||
echo |
|||
echo "Perform Database Changes ..." |
|||
|
|||
live_urls=$(eval "echo \"\$${env}_to_local_${env}_urls\"") |
|||
local_urls=$(eval "echo \"\$${env}_to_local_local_urls\"") |
|||
for i in "${!live_urls[@]}" |
|||
do |
|||
mysql --defaults-extra-file="$app_dir/etc/local.my.cnf" -D "$local_database_name" -e \ |
|||
"UPDATE sales_channel_domain SET url = '${local_urls[$i]}' WHERE url = '${live_urls[$i]}'" |
|||
done |
|||
|
|||
script="$(eval "echo \"$app_dir/git/$project_name\$local_${env}_slug/bin/console\"")" |
|||
|
|||
"$script" user:create -a --email="$local_shopware_email" --firstName="$local_shopware_firstname" --lastName="$local_shopware_lastname" "$local_shopware_user" |
|||
|
|||
postScript "$app_dir/bin/postscripts/make_local_database.sh" |
|||
|
|||
echo |
@ -0,0 +1,162 @@ |
|||
#!/bin/bash |
|||
|
|||
if [ true != ${includes_included:-false} ] |
|||
then |
|||
includes_included=true |
|||
|
|||
function echoMainTitle { |
|||
echo -e "\033[1;34m$1\033[0m" |
|||
} |
|||
|
|||
function echoSubTitle { |
|||
echo -e "\033[0;32m$1\033[0m" |
|||
} |
|||
|
|||
function echoSelect { |
|||
local select="$1" |
|||
local message="$2" |
|||
echo -e "\033[0;33m$select\033[0m $message" |
|||
} |
|||
|
|||
function echoError { |
|||
echo -e "\033[0;91m$1\033[0m" |
|||
} |
|||
|
|||
function getArgument { |
|||
local errmsg=$2 |
|||
local allow=${3:-false} |
|||
local var=$1 |
|||
|
|||
if [ "$allow" != false ] && [ "$(isAllowed "$var" "$allow")" == false ] |
|||
then |
|||
echo "$errmsg" >&2 |
|||
exit 1 |
|||
fi |
|||
|
|||
echo "$var" |
|||
} |
|||
|
|||
function isAllowed { |
|||
local var="$1" |
|||
local allow="$2" |
|||
local valid=true |
|||
|
|||
if [ "$allow" == true ] && [ "$var" == "" ] |
|||
then |
|||
valid=false |
|||
elif [ "$allow" != false ] && [ "$allow" != true ] |
|||
then |
|||
allow=($allow) |
|||
local found=false |
|||
for i in "${!allow[@]}" |
|||
do |
|||
if [ "${allow[$i]}" == "$var" ] |
|||
then |
|||
found=true |
|||
fi |
|||
done |
|||
if [ "$found" != true ] |
|||
then |
|||
valid=false |
|||
fi |
|||
fi |
|||
|
|||
echo $valid |
|||
} |
|||
|
|||
function readConsole { |
|||
local message="$1" |
|||
local errmsg="$2" |
|||
local allow=${3:-false} |
|||
|
|||
read -p "$message" var |
|||
|
|||
if [ "$(isAllowed "$var" "$allow")" == false ] |
|||
then |
|||
echo "$errmsg" >&2 |
|||
var=$(readConsole "$message" "$errmsg" "$allow") |
|||
fi |
|||
|
|||
echo "$var" |
|||
} |
|||
|
|||
function addSSHKey { |
|||
local env=$(getArgument "$1" "Usage: addSSHKey [live|stage|git]" "live stage git") |
|||
local ssh_key_file="$app_dir/.ssh/$env" |
|||
local has_ssh_key_file=$(eval "echo \"\$${env}_has_ssh_key_file\"") |
|||
|
|||
if [ "$has_ssh_key_file" == "y" ] |
|||
then |
|||
copySSHKeys "$env" |
|||
else |
|||
installSSHKey "$env" |
|||
fi |
|||
ssh-add "$ssh_key_file" |
|||
} |
|||
|
|||
function copySSHKeys { |
|||
local env=$(getArgument "$1" "Usage: copySSHKeys [live|stage|git]" "live stage git") |
|||
local has=$(eval "echo \$${env}_has_ssk_key_file") |
|||
local source=$(eval "echo \$${env}_ssh_key_file") |
|||
local target="$app_dir/.ssh/$env" |
|||
|
|||
if [ -f "$source" ] && [ ! -f "$target" ] |
|||
then |
|||
cp "$source" "$target" |
|||
chmod 0600 "$target" |
|||
else |
|||
echoError "Could not copy ssh key file" >&2 |
|||
exit 1 |
|||
fi |
|||
if [ -f "$source.pub" ] && [ ! -f "$target.pub" ] |
|||
then |
|||
cp "$source.pub" "$target.pub" |
|||
chmod 0600 "$target.pub" |
|||
else |
|||
echoError "Could not copy ssh key file" >&2 |
|||
exit 1 |
|||
fi |
|||
} |
|||
|
|||
function installSSHKey { |
|||
local env=$(getArgument "$1" "Usage: installSSHKey [live|stage|git]" "live stage git") |
|||
local has=$(eval "echo \"\$${env}_has_ssh_key_file\"") |
|||
local file=$(eval "echo \"\$${env}_ssh_key_file\"") |
|||
local user=$(eval "echo \"\$${env}_ssh_user\"") |
|||
local domain=$(eval "echo \"\$${env}_ssh_domain\"") |
|||
|
|||
if [ "$has" == "n" ] && [ ! -f "$app_dir/.ssh/$env"] |
|||
then |
|||
ssh-keygen -b 4096 -t rsa -f "$app_dir/.ssh/$env" -q -N "" |
|||
chmod 0600 "$app_dir/.ssh/$env" |
|||
chmod 0600 "$app_dir/.ssh/$env.pub" |
|||
|
|||
echo "Please enter SSH $env system password:" |
|||
ssh-copy-id -i "$app_dir/.ssh/$env.pub" "$user"@"$domain" |
|||
fi |
|||
} |
|||
|
|||
function buildIgnoredTablesArguments { |
|||
local env=$(getArgument "$1" "Usage: buildIgnoredTables [live|stage|local] [ignoredTablesArray]" "live stage local") |
|||
local ignoredTables=$(getArgument "$2" "Usage: buildIgnoredTables [live|stage|local] [ignoredTablesArray]" true) |
|||
|
|||
local database_name=$(eval "echo \"\$${env}_database_name\"") |
|||
|
|||
ignoredTables=($ignoredTables) |
|||
local ignoredTablesArguments="" |
|||
for table in "${ignoredTables[@]}" |
|||
do |
|||
ignoredTablesArguments="$ignoredTablesArguments --ignore-table=\"${database_name}.${table}\"" |
|||
done |
|||
|
|||
echo "$ignoredTablesArguments" |
|||
} |
|||
|
|||
function postScript { |
|||
local script=$(getArgument "$1" "Usage: postScript \"post_script.sh\"" true) |
|||
if [ -f "$script" ] |
|||
then |
|||
source "$script" |
|||
fi |
|||
} |
|||
fi |
@ -0,0 +1,104 @@ |
|||
#!/bin/bash |
|||
|
|||
set -e |
|||
|
|||
source "$(dirname "${BASH_SOURCE[0]}")/includes/includes.sh" |
|||
app_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." &> /dev/null && pwd) |
|||
source "$app_dir/etc/config.sh" |
|||
|
|||
echo |
|||
echoMainTitle "What do you want to do today?" |
|||
|
|||
echo |
|||
echoSelect "[1]" "Databaseupdate" |
|||
echoSelect "[2]" "Fetching Files" |
|||
echoSelect "[3]" "Fetching Public Media" |
|||
echo |
|||
main_selection=$(readConsole "Select: " "Invalid selection" "1 2 3") |
|||
words=( |
|||
'databaseupdate' |
|||
'files' |
|||
'media' |
|||
) |
|||
|
|||
for i in "${!words[@]}" |
|||
do |
|||
((cur=i+1)) |
|||
if [ $cur == "$main_selection" ] |
|||
then |
|||
main_selection=${words[$i]} |
|||
fi |
|||
done |
|||
|
|||
echo $main_selection |
|||
|
|||
if [ "$main_selection" == "databaseupdate" ] |
|||
then |
|||
echo |
|||
echoSubTitle "Databaseupdate" |
|||
echo |
|||
echo "From Environment:" |
|||
echo |
|||
echoSelect "[live] " "Live" |
|||
echoSelect "[stage] " "Stage" |
|||
echo |
|||
env=$(readConsole "Select: " "Invalid selection" "live stage") |
|||
|
|||
echo |
|||
confirm=$(readConsole "You want to copy the database from $env to local ($env)? [y,n]: " "Invalid selection" "y n") |
|||
|
|||
if [ "$confirm" == "y" ] |
|||
then |
|||
source "$app_dir/bin/commands/import_db.sh" "$env" |
|||
else |
|||
echo "Aborted" |
|||
fi |
|||
fi |
|||
|
|||
if [ "$main_selection" == "files" ] |
|||
then |
|||
echo |
|||
echoSubTitle "Fetching Files" |
|||
echo |
|||
echo "From Environment:" |
|||
echo |
|||
echoSelect "[live] " "Live" |
|||
echoSelect "[stage] " "Stage" |
|||
echo |
|||
env=$(readConsole "Select: " "Invalid selection" "live stage") |
|||
|
|||
echo |
|||
confirm=$(readConsole "You want to copy the /files from $env to local ($env)? [y,n]: " "Invalid selection" "y n") |
|||
|
|||
if [ "$confirm" == "y" ] |
|||
then |
|||
source "$app_dir/bin/commands/import_media.sh" "$env" "/files" |
|||
else |
|||
echo "Aborted" |
|||
fi |
|||
fi |
|||
|
|||
if [ "$main_selection" == "media" ] |
|||
then |
|||
echo |
|||
echoSubTitle "Fetching public Media" |
|||
echo |
|||
echo "From Environment:" |
|||
echo |
|||
echoSelect "[live] " "Live" |
|||
echoSelect "[stage] " "Stage" |
|||
echo |
|||
env=$(readConsole "Select: " "Invalid selection" "live stage") |
|||
|
|||
echo |
|||
confirm=$(readConsole "You want to copy the /public/media from $env to local ($env? [y,n]: " "Invalid selection" "y n") |
|||
|
|||
if [ "$confirm" == "y" ] |
|||
then |
|||
source "$app_dir/bin/commands/import_media.sh" "$env" "/public/media" |
|||
else |
|||
echo "Aborted" |
|||
fi |
|||
fi |
|||
|
|||
echo |
Write
Preview
Loading…
Cancel
Save
Reference in new issue