From a52afc17e0804d347cb380caeba87d0148947fbc Mon Sep 17 00:00:00 2001 From: Marcio Mazza Date: Fri, 16 Apr 2021 18:22:34 +0200 Subject: [PATCH] Remove flush que duplica permissoes --- sapl/legacy/migracao_dados.py | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/sapl/legacy/migracao_dados.py b/sapl/legacy/migracao_dados.py index 8651078e5..ebeec6a67 100644 --- a/sapl/legacy/migracao_dados.py +++ b/sapl/legacy/migracao_dados.py @@ -1078,10 +1078,32 @@ def get_arquivos_ajustes_pre_migracao(): def do_flush(): # excluindo database antigo. - info("Excluindo entradas antigas do banco destino.") - FlushCommand().handle( - database="default", interactive=False, verbosity=0, allow_cascade=True - ) + # info("Excluindo entradas antigas do banco destino.") + # FlushCommand().handle( + # database="default", interactive=False, verbosity=0, allow_cascade=True + # ) + # + # O flush está ativando o evento em sapl.rules.apps + # que está criando permissoes duplicadas + # models.signals.post_migrate.connect(receiver=create_proxy_permissions, ...) + # + # solução => não fazer mais flush, mas verificar que o banco acabou de ser criado (está vazio)!!!!!! + # + # Se não estiver, recrie o banco antes para rodar a migração usando: + # sapl/legacy/scripts/recria_um_db_postgres.sh + + for model in ( + Parlamentar, + MateriaLegislativa, + DocumentoAdministrativo, + Proposicao, + NormaJuridica, + Protocolo, + Mandato, + ): + assert not model.objects.exists() + + info("O banco acabou de ser criado e está vazio => prosseguimos") # apaga tipos de autor padrão (criados no flush acima) TipoAutor.objects.all().delete()