Browse Source

Baseia scripts de migração em dumps por banco

pull/1554/head
Marcio Mazza 7 years ago
parent
commit
ba940d2a44
  1. 6
      sapl/legacy/scripts/migra_dbs.sh
  2. 28
      sapl/legacy/scripts/migra_um_db.sh

6
sapl/legacy/scripts/migra_dbs.sh

@ -2,9 +2,9 @@
# rodar esse script na raiz do projeto
if [ $# -eq 2 ]; then
parallel -eta --verbose -j+0 ./sapl/legacy/scripts/migra_um_db.sh :::: <(mysql -u $1 -p$2 -e 'show databases;' | grep '^sapl_' | grep -v '_copy$') ::: $1 ::: $2
if [ $# -ge 1 ]; then
parallel -eta --verbose -j+0 ./sapl/legacy/scripts/migra_um_db.sh :::: <(mysql -u $1 -p$2 -e 'show databases;' | grep '^sapl_') ::: $1 ::: $2
else
echo "USO:"
echo " $0 [usuário mysql] [senha mysql]"
echo " $0 <usuário mysql> [senha mysql]"
fi;

28
sapl/legacy/scripts/migra_um_db.sh

@ -1,7 +1,11 @@
#!/bin/bash
# rodar esse script na raiz do projeto
if [ $# -eq 3 ]; then
if [ $# -ge 2 ]; then
# proteje pasta com dumps de alterações acidentais
chmod -R -w ~/sapl_dumps
DATE=$(date +%Y-%m-%d)
DIR=~/${DATE}_logs_migracao
mkdir -p $DIR
@ -14,18 +18,16 @@ if [ $# -eq 3 ]; then
echo "########################################" | tee -a $LOG
echo >> $LOG
echo "--- CRIANDO BACKUP ---" | tee -a $LOG
echo >> $LOG
EXISTE=`mysql -u $2 -p$3 -N -s -e "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '$1_copy';"`
if [[ $EXISTE == $1_copy ]]; then
mysql -u $2 -p$3 -N -s -e "DROP DATABASE IF EXISTS $1; CREATE DATABASE $1;" && mysqldump -u $2 -p$3 $1_copy | mysql -u $2 -p$3 $1
if [ $3 ]; then
# se há senha do mysql
mysql -u $2 -p "$3" -N -s -e "DROP DATABASE IF EXISTS $1; CREATE DATABASE $1;"
mysql -u $2 -p "$3" < ~/sapl_dumps/$1.sql
else
# se não há senha do mysql
mysql -u $2 -N -s -e "DROP DATABASE IF EXISTS $1; CREATE DATABASE $1;"
mysql -u $2 < ~/sapl_dumps/$1.sql
fi;
echo "O banco legado foi restaurado" |& tee -a $LOG
elif [[ ! $EXISTE ]]; then
mysql -u $2 -p$3 -N -s -e "CREATE DATABASE $1_copy;"
mysqldump -u $2 -p$3 $1 | mysql -u $2 -p$3 $1_copy
echo "O banco de cópia $1_copy não existia e foi criado" |& tee -a $LOG
fi
echo >> $LOG
echo "--- DJANGO MIGRATE ---" | tee -a $LOG
@ -42,5 +44,5 @@ if [ $# -eq 3 ]; then
echo >> $LOG
else
echo "USO:"
echo " $0 [nome_database] [usuário mysql] [senha mysql]"
echo " $0 <nome_database> <usuário mysql> [senha mysql]"
fi;

Loading…
Cancel
Save