Browse Source

Grava ocorrencias de migração no repo

pull/1916/head
Marcio Mazza 7 years ago
parent
commit
38e457620b
  1. 17
      sapl/legacy/migracao_dados.py

17
sapl/legacy/migracao_dados.py

@ -730,8 +730,8 @@ def reinicia_sequence(model, id):
DIR_DADOS_MIGRACAO = Path('~/migracao_sapl/').expand() DIR_DADOS_MIGRACAO = Path('~/migracao_sapl/').expand()
PATH_TABELA_TIMEZONES = DIR_DADOS_MIGRACAO.child('tabela_timezones.yaml') NOME_BANCO_LEGADO = DATABASES['legacy']['NAME']
DIR_RESULTADOS = DIR_DADOS_MIGRACAO.child('resultados') REPO = git.Repo.init(Path(DIR_DADOS_MIGRACAO, 'repos', NOME_BANCO_LEGADO))
def dict_representer(dumper, data): def dict_representer(dumper, data):
@ -740,9 +740,9 @@ yaml.add_representer(OrderedDict, dict_representer)
# configura timezone de migração # configura timezone de migração
nome_banco_legado = DATABASES['legacy']['NAME'] match = re.match('sapl_cm_(.*)', NOME_BANCO_LEGADO)
match = re.match('sapl_cm_(.*)', nome_banco_legado)
sigla_casa = match.group(1) sigla_casa = match.group(1)
PATH_TABELA_TIMEZONES = DIR_DADOS_MIGRACAO.child('tabela_timezones.yaml')
with open(PATH_TABELA_TIMEZONES, 'r') as arq: with open(PATH_TABELA_TIMEZONES, 'r') as arq:
tabela_timezones = yaml.load(arq) tabela_timezones = yaml.load(arq)
municipio, uf, nome_timezone = tabela_timezones[sigla_casa] municipio, uf, nome_timezone = tabela_timezones[sigla_casa]
@ -818,18 +818,16 @@ def migrar_dados(interativo=True):
info('Começando migração: ...') info('Começando migração: ...')
try: try:
ocorrencias.clear() ocorrencias.clear()
dir_ocorrencias = DIR_RESULTADOS.child(date.today().isoformat())
dir_ocorrencias.mkdir(parents=True)
migrar_todos_os_models() migrar_todos_os_models()
except Exception as e: except Exception as e:
ocorrencias['traceback'] = str(traceback.format_exc()) ocorrencias['traceback'] = str(traceback.format_exc())
raise e raise e
finally: finally:
# grava ocorrências # grava ocorrências
arq_ocorrencias = dir_ocorrencias.child( arq_ocorrencias = Path(REPO.working_dir, 'ocorrencias.yaml')
nome_banco_legado + '.yaml')
with open(arq_ocorrencias, 'w') as arq: with open(arq_ocorrencias, 'w') as arq:
pyaml.dump(ocorrencias, arq, vspacing=1) pyaml.dump(ocorrencias, arq, vspacing=1)
REPO.git.add([arq_ocorrencias.name])
info('Ocorrências salvas em\n {}'.format(arq_ocorrencias)) info('Ocorrências salvas em\n {}'.format(arq_ocorrencias))
# recria tipos de autor padrão que não foram criados pela migração # recria tipos de autor padrão que não foram criados pela migração
@ -1270,9 +1268,6 @@ def time_constructor(loader, node):
yaml.add_constructor(u'!time', time_constructor) yaml.add_constructor(u'!time', time_constructor)
REPO = git.Repo.init(Path(DIR_DADOS_MIGRACAO, 'repos', nome_banco_legado))
def gravar_marco(): def gravar_marco():
"""Grava um dump de todos os dados como arquivos yaml no repo de marco """Grava um dump de todos os dados como arquivos yaml no repo de marco
""" """

Loading…
Cancel
Save