|
|
@ -2,7 +2,8 @@ |
|
|
|
|
|
|
|
# rodar esse script na raiz do projeto |
|
|
|
if [ $# -eq 3 ]; then |
|
|
|
DIR=~/logs_migracao |
|
|
|
DATE=$(date +%Y-%m-%d) |
|
|
|
DIR=~/${DATE}_logs_migracao |
|
|
|
mkdir -p $DIR |
|
|
|
|
|
|
|
LOG="$DIR/$1.migracao.log" |
|
|
@ -15,7 +16,16 @@ if [ $# -eq 3 ]; then |
|
|
|
|
|
|
|
echo "--- CRIANDO BACKUP ---" | tee -a $LOG |
|
|
|
echo >> $LOG |
|
|
|
mysql -u $2 -p$3 -e "create database if not exists $1_copy;" && mysqldump -u $2 -p$3 $1 | mysql -u $2 -p$3 $1_copy; |
|
|
|
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 |
|
|
|
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 |
|
|
@ -23,11 +33,14 @@ if [ $# -eq 3 ]; then |
|
|
|
DATABASE_NAME=$1 ./manage.py migrate --settings sapl.legacy_migration_settings |
|
|
|
echo >> $LOG |
|
|
|
|
|
|
|
# XXX Na primeira execução desse comando aparece o erro de "Coammands out of sync" |
|
|
|
# A solução mais rápida foi executar duas vezes seguidas pra poder migrar. |
|
|
|
DATABASE_NAME=$1 ./manage.py migracao_25_31 -f --settings sapl.legacy_migration_settings |
|
|
|
echo "--- MIGRACAO DE DADOS ---" | tee -a $LOG |
|
|
|
echo >> $LOG |
|
|
|
DATABASE_NAME=$1 ./manage.py migracao_25_31 -f --settings sapl.legacy_migration_settings |& tee -a $LOG |
|
|
|
echo >> $LOG |
|
|
|
else |
|
|
|
echo "USO:" |
|
|
|
echo " ./sapl/legacy/scripts/migra_um_db.sh [nome_database] [usuário mysql] [senha mysql]" |
|
|
|
echo " $0 [nome_database] [usuário mysql] [senha mysql]" |
|
|
|
fi; |
|
|
|