diff --git a/sapl/legacy/migracao_dados.py b/sapl/legacy/migracao_dados.py index fb5020437..c6ca892f0 100644 --- a/sapl/legacy/migracao_dados.py +++ b/sapl/legacy/migracao_dados.py @@ -796,36 +796,36 @@ def roda_comando_shell(cmd): def migrar_dados(): - - # restaura dump - arq_dump = Path(DIR_DADOS_MIGRACAO.child( - 'dumps_mysql', '{}.sql'.format(NOME_BANCO_LEGADO))) - assert arq_dump.exists(), 'Dump do mysql faltando: {}'.format(arq_dump) - info('Restaurando dump mysql de [{}]'.format(arq_dump)) - normaliza_dump_mysql(arq_dump) - roda_comando_shell('mysql -uroot < {}'.format(arq_dump)) - - # executa ajustes pré-migração, se existirem - arq_ajustes_pre_migracao = DIR_DADOS_MIGRACAO.child( - 'ajustes_pre_migracao', '{}.sql'.format(sigla_casa)) - if arq_ajustes_pre_migracao.exists(): - exec_legado(arq_ajustes_pre_migracao.read_file()) - - uniformiza_banco() - - # excluindo database antigo. - info('Excluindo entradas antigas do banco destino.') - call([PROJECT_DIR.child('manage.py'), 'flush', - '--database=default', '--no-input'], stdout=PIPE) - - # apaga tipos de autor padrão (criados no flush acima) - TipoAutor.objects.all().delete() - - fill_vinculo_norma_juridica() - fill_dados_basicos() - info('Começando migração: ...') try: ocorrencias.clear() + + # restaura dump + arq_dump = Path(DIR_DADOS_MIGRACAO.child( + 'dumps_mysql', '{}.sql'.format(NOME_BANCO_LEGADO))) + assert arq_dump.exists(), 'Dump do mysql faltando: {}'.format(arq_dump) + info('Restaurando dump mysql de [{}]'.format(arq_dump)) + normaliza_dump_mysql(arq_dump) + roda_comando_shell('mysql -uroot < {}'.format(arq_dump)) + + # executa ajustes pré-migração, se existirem + arq_ajustes_pre_migracao = DIR_DADOS_MIGRACAO.child( + 'ajustes_pre_migracao', '{}.sql'.format(sigla_casa)) + if arq_ajustes_pre_migracao.exists(): + exec_legado(arq_ajustes_pre_migracao.read_file()) + + uniformiza_banco() + + # excluindo database antigo. + info('Excluindo entradas antigas do banco destino.') + call([PROJECT_DIR.child('manage.py'), 'flush', + '--database=default', '--no-input'], stdout=PIPE) + + # apaga tipos de autor padrão (criados no flush acima) + TipoAutor.objects.all().delete() + + fill_vinculo_norma_juridica() + fill_dados_basicos() + info('Começando migração: ...') migrar_todos_os_models() except Exception as e: ocorrencias['traceback'] = str(traceback.format_exc())