|
|
@ -804,7 +804,7 @@ def roda_comando_shell(cmd): |
|
|
|
assert res == 0, 'O comando falhou: {}'.format(cmd) |
|
|
|
|
|
|
|
|
|
|
|
def migrar_dados(): |
|
|
|
def migrar_dados(apagar_do_legado=False): |
|
|
|
try: |
|
|
|
ocorrencias.clear() |
|
|
|
ocorrencias.default_factory = list |
|
|
@ -836,7 +836,7 @@ def migrar_dados(): |
|
|
|
fill_vinculo_norma_juridica() |
|
|
|
fill_dados_basicos() |
|
|
|
info('Começando migração: ...') |
|
|
|
migrar_todos_os_models() |
|
|
|
migrar_todos_os_models(apagar_do_legado) |
|
|
|
except Exception as e: |
|
|
|
ocorrencias['traceback'] = str(traceback.format_exc()) |
|
|
|
raise e |
|
|
@ -886,12 +886,12 @@ def get_models_a_migrar(): |
|
|
|
return models |
|
|
|
|
|
|
|
|
|
|
|
def migrar_todos_os_models(): |
|
|
|
def migrar_todos_os_models(apagar_do_legado): |
|
|
|
for model in get_models_a_migrar(): |
|
|
|
migrar_model(model) |
|
|
|
migrar_model(model, apagar_do_legado) |
|
|
|
|
|
|
|
|
|
|
|
def migrar_model(model): |
|
|
|
def migrar_model(model, apagar_do_legado): |
|
|
|
print('Migrando %s...' % model.__name__) |
|
|
|
|
|
|
|
model_legado, tabela_legado, campos_pk_legado = \ |
|
|
@ -945,12 +945,13 @@ def migrar_model(model): |
|
|
|
novos.append(new) # guarda para salvar |
|
|
|
|
|
|
|
# acumula deleção do registro no legado |
|
|
|
sql_delete_legado += 'delete from {} where {};\n'.format( |
|
|
|
tabela_legado, |
|
|
|
' and '.join( |
|
|
|
'{} = "{}"'.format(campo, |
|
|
|
getattr(old, campo)) |
|
|
|
for campo in campos_pk_legado)) |
|
|
|
if apagar_do_legado: |
|
|
|
sql_delete_legado += 'delete from {} where {};\n'.format( |
|
|
|
tabela_legado, |
|
|
|
' and '.join( |
|
|
|
'{} = "{}"'.format(campo, |
|
|
|
getattr(old, campo)) |
|
|
|
for campo in campos_pk_legado)) |
|
|
|
|
|
|
|
# salva novos registros |
|
|
|
with reversion.create_revision(): |
|
|
@ -969,7 +970,7 @@ def migrar_model(model): |
|
|
|
reinicia_sequence(model, ultima_pk_legado + 1) |
|
|
|
|
|
|
|
# apaga registros migrados do legado |
|
|
|
if sql_delete_legado: |
|
|
|
if apagar_do_legado and sql_delete_legado: |
|
|
|
exec_legado(sql_delete_legado) |
|
|
|
|
|
|
|
|
|
|
|