1
+ #! /bin/bash
2
+
3
+ confirm () {
4
+ # call with a prompt string or use a default
5
+ read -r -p " ${1:- Are you sure? [y/N]} " response
6
+ case " $response " in
7
+ [yY][eE][sS]|[yY])
8
+ true
9
+ ;;
10
+ * )
11
+ false
12
+ ;;
13
+ esac
14
+ }
15
+
16
+ host=10.10.10.10 # CHANGE THIS
17
+ password=Password # CHANGE THIS
18
+ port=3306 # CHANGE THIS
19
+
20
+ tables=(
21
+ table1 # CHANGE THIS
22
+ table2 # CHANGE THIS
23
+ table3 # CHANGE THIS
24
+ )
25
+
26
+ printf -- ' \033[37m#################################################################################### \033[0m\n' ;
27
+ printf -- ' \033[37m################################# MIGRATION START ################################## \033[0m\n' ;
28
+ printf -- ' \033[37m#################################################################################### \033[0m\n' ;
29
+ printf -- ' \n' ;
30
+ printf -- ' \033[32m Downloading backup to ~/backups... \033[0m\n' ;
31
+ printf -- ' \n' ;
32
+ # Download last backup over scp
33
+ scp user@10.10.10.10://pat_to_mysl_backup/sql_backup* .sql.tar.gz ~ /local_backup/ # CHANGE THIS
34
+ printf -- ' \033[32m Downloaded!!! \033[0m\n' ;
35
+ printf -- ' \n' ;
36
+
37
+ printf -- ' \033[37m################################## DUMP TABLES ##################################### \033[0m\n' ;
38
+ printf -- ' \n' ;
39
+
40
+ for i in " ${tables[@]} " ; do
41
+ printf -- ' \033[32m Running sed in %s scheme and data... \033[0m\n' $i ;
42
+ # confirm
43
+ # # INDEX AUTO INCREMENT FIX -- REMOVE THIS
44
+ pv * _scheme_$i .sql| sed -r ' s/AUTO_INCREMENT=[0-9]+/AUTO_INCREMENT=1/g' > $i .scheme_increment.sql
45
+ pv * _data_$i .sql| sed -e " s/([0-9]*,/(NULL,/gi" > $i .null_good.sql
46
+ printf -- ' \033[32m Loading %s scheme and data... \033[0m\n' $i ;
47
+ # confirm
48
+ pv $i .scheme_increment.sql| mysql -u user --password=$password -h $host -P $port DDBB_NAME
49
+ # confirm
50
+ pv $i .null_good.sql| mysql -u user --password=$password -h $host -P $port DDBB_NAME
51
+ printf -- ' \033[32m %s loaded!!! \033[0m\n' $i ;
52
+ printf -- ' \n' ;
53
+ done
54
+
55
+ printf -- ' \033[37m#################################################################################### \033[0m\n' ;
56
+ printf -- ' \033[37m################################# MIGRATION END #################################### \033[0m\n' ;
57
+ printf -- ' \033[37m#################################################################################### \033[0m\n' ;
58
+
59
+ exit
0 commit comments