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: