From 16cdbe39f240837a6c09be382dfb05810c474432 Mon Sep 17 00:00:00 2001 From: Marcio Mazza Date: Wed, 29 Aug 2018 13:34:02 -0300 Subject: [PATCH] =?UTF-8?q?Adiciona=20mais=20propaga=C3=A7=C3=B5es=20de=20?= =?UTF-8?q?exclus=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/legacy/migracao_dados.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/sapl/legacy/migracao_dados.py b/sapl/legacy/migracao_dados.py index dec526ecb..1984826d3 100644 --- a/sapl/legacy/migracao_dados.py +++ b/sapl/legacy/migracao_dados.py @@ -216,6 +216,13 @@ def get_estrutura_legado(model): return model_legado, tabela_legado, campos_pk_legado +def com_aspas_se_necessario(valor): + if isinstance(valor, int): + return valor + else: + return '"{}"'.format(valor) + + class ForeignKeyFaltando(ObjectDoesNotExist): 'Uma FK aponta para um registro inexistente' @@ -233,7 +240,9 @@ class ForeignKeyFaltando(ObjectDoesNotExist): pk = {c: getattr(self.old, c) for c in campos_pk} sql = 'select * from {} where {};'.format( tabela, - ' and '.join(['{} = {}'.format(k, v) for k, v in pk.items()])) + ' and '.join([ + '{} = {}'.format(k, com_aspas_se_necessario(v)) + for k, v in pk.items()])) return OrderedDict((('campo', campo), ('valor', self.valor), ('tabela', tabela), @@ -531,6 +540,9 @@ PROPAGACOES_DE_EXCLUSAO = [ ('parlamentar', 'composicao_mesa', 'cod_parlamentar'), ('parlamentar', 'composicao_comissao', 'cod_parlamentar'), + # coligacao + ('coligacao', 'composicao_coligacao', 'cod_coligacao'), + # comissao ('comissao', 'composicao_comissao', 'cod_comissao'), ('periodo_comp_comissao', 'composicao_comissao', 'cod_periodo_comp'), @@ -539,6 +551,9 @@ PROPAGACOES_DE_EXCLUSAO = [ ('sessao_plenaria', 'ordem_dia', 'cod_sessao_plen'), ('sessao_plenaria', 'expediente_materia', 'cod_sessao_plen'), ('sessao_plenaria', 'expediente_sessao_plenaria', 'cod_sessao_plen'), + ('sessao_plenaria', 'sessao_plenaria_presenca', 'cod_sessao_plen'), + ('sessao_plenaria', 'ordem_dia_presenca', 'cod_sessao_plen'), + # as consultas no código do sapl 2.5 # votacao_ordem_dia_obter_zsql e votacao_expediente_materia_obter_zsql # indicam que os registros de votação de matérias excluídas não são @@ -860,7 +875,7 @@ def migrar_dados(apagar_do_legado=False): ocorrencias.default_factory = None arq_ocorrencias = Path(REPO.working_dir, 'ocorrencias.yaml') with open(arq_ocorrencias, 'w') as arq: - pyaml.dump(ocorrencias, arq, vspacing=1) + pyaml.dump(ocorrencias, arq, vspacing=1, width=200) REPO.git.add([arq_ocorrencias.name]) info('Ocorrências salvas em\n {}'.format(arq_ocorrencias)) if not ocorrencias: