-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsql-import-local.sh
executable file
·43 lines (28 loc) · 1.58 KB
/
sql-import-local.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/usr/bin/env bash
source "$(dirname "$BASH_SOURCE")/../vendor/Flower7C3/bash-helpers/_base.sh"
## CONFIG
_sql_host="mysql55"
_database="example"
datetime=$(date "+%Y%m%d-%H%M%S")
_export_file_name="backup_${datetime}.sql"
## WELCOME
program_title "SQL import to local"
## VARIABLES
prompt_variable export_file_name "Export file name" "$_export_file_name" 1 "$@"
prompt_variable sql_host "Local MySQL machine name" "$_sql_host" 2 "$@"
prompt_variable database "Local MySQL database name" "$_database" 3 "$@"
local_data_dir_path="${HOME}/backup/"
local_trigger_dir_path="${HOME}/www/database/"
trigger_file_name=${database}".sql"
## PROGRAM
confirm_or_exit "Import SQL to ${COLOR_QUESTION_H}${database}${COLOR_QUESTION} database at ${COLOR_QUESTION_H}${sql_host}${COLOR_QUESTION} mysql host from ${COLOR_QUESTION_H}${export_file_name}${COLOR_QUESTION} export file and ${COLOR_QUESTION_H}${trigger_file_name}${COLOR_QUESTION} trigger file?"
printf "${COLOR_INFO_B}Import ${COLOR_INFO_H}${export_file_name}${COLOR_INFO_B} export file to ${COLOR_INFO_H}${database}${COLOR_INFO_B} database on local ${COLOR_INFO} \n"
mysql ${database} < ${local_data_dir_path}${export_file_name}
color_reset
if [ -f "${local_trigger_dir_path}${trigger_file_name}" ]; then
printf "${COLOR_INFO_B}Execute ${COLOR_INFO_H}${trigger_file_name}${COLOR_INFO_B} trigger file to ${COLOR_INFO_H}${database}${COLOR_INFO_B} database on local ${COLOR_INFO} \n"
mysql ${database} < ${local_trigger_dir_path}${trigger_file_name}
color_reset
fi
remove_file_from_local "${local_data_dir_path}" "${export_file_name}"
print_new_line