Browse Source

Torna apagar legado opcional

pull/2144/head
Marcio Mazza 7 years ago
parent
commit
43f86e3d79
  1. 11
      sapl/legacy/management/commands/migracao_25_31.py
  2. 4
      sapl/legacy/migracao.py
  3. 13
      sapl/legacy/migracao_dados.py

11
sapl/legacy/management/commands/migracao_25_31.py

@ -7,5 +7,14 @@ class Command(BaseCommand):
help = 'Migração de dados do SAPL 2.5 para o SAPL 3.1' help = 'Migração de dados do SAPL 2.5 para o SAPL 3.1'
def add_arguments(self, parser):
parser.add_argument(
'-a',
action='store_true',
default=False,
dest='apagar_do_legado',
help='Apagar entradas migradas do legado',
)
def handle(self, *args, **options): def handle(self, *args, **options):
migrar(interativo=False) migrar(apagar_do_legado=options['apagar_do_legado'])

4
sapl/legacy/migracao.py

@ -18,7 +18,7 @@ def adornar_msg(msg):
return '\n{1}\n{0}\n{1}'.format(msg, '#' * len(msg)) return '\n{1}\n{0}\n{1}'.format(msg, '#' * len(msg))
def migrar(interativo=False): def migrar(apagar_do_legado=False):
if TAG_MARCO in REPO.tags: if TAG_MARCO in REPO.tags:
info('A migração já está feita.') info('A migração já está feita.')
return return
@ -26,7 +26,7 @@ def migrar(interativo=False):
'Antes de migrar ' 'Antes de migrar '
'é necessário fazer a exportação de documentos do zope') 'é necessário fazer a exportação de documentos do zope')
management.call_command('migrate') management.call_command('migrate')
migrar_dados() migrar_dados(apagar_do_legado)
migrar_usuarios(REPO.working_dir) migrar_usuarios(REPO.working_dir)
migrar_documentos(REPO) migrar_documentos(REPO)
gravar_marco() gravar_marco()

13
sapl/legacy/migracao_dados.py

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

Loading…
Cancel
Save