Browse Source

Suspende temporariamente migracao de materias em conflito

migracao
Marcio Mazza 6 years ago
parent
commit
6eca884bc1
  1. 8
      sapl/legacy/migracao_dados.py
  2. 38
      sapl/legacy/scripts/ressuscita_dependencias.py

8
sapl/legacy/migracao_dados.py

@ -304,7 +304,7 @@ def exec_sql(sql, db="default"):
exec_legado = partial(exec_sql, db="legacy")
def _formatar_lista_para_sql(iteravel):
def formatar_lista_para_sql(iteravel):
lista = list(iteravel)
if lista:
return "({})".format(str(lista)[1:-1]) # transforma "[...]" em "(...)"
@ -316,7 +316,7 @@ def exec_legado_em_subconjunto(sql, ids):
"""Executa uma query sql no legado no formato '.... in {}'
interpolando `ids`, se houver ids"""
lista_sql = _formatar_lista_para_sql(ids)
lista_sql = formatar_lista_para_sql(ids)
if lista_sql:
return exec_legado(sql.format(lista_sql))
else:
@ -459,7 +459,7 @@ def unifica_autores_repetidos_no_legado(campo_agregador):
# usamos uma tupla neutra se o conjunto é vazio
# p q a query seja sintaticamente correta
ids_ja_migrados = _formatar_lista_para_sql(
ids_ja_migrados = formatar_lista_para_sql(
get_all_ids_from_model(Autor) or [-1000]
)
@ -1960,7 +1960,7 @@ def deletados(model):
return {v.object_id: v for v in deletados}
def analisa_conflitos_materias():
def get_conflitos_materias_legado_e_producao():
"""
Analisa conflitos entre materias nao migradas e em producao
"""

38
sapl/legacy/scripts/ressuscita_dependencias.py

@ -6,13 +6,21 @@ import texttable
import yaml
from unipath import Path
from sapl.legacy.migracao_dados import (PROPAGACOES_DE_EXCLUSAO,
campos_novos_para_antigos, exec_legado,
get_apagados_que_geram_ocorrencias_fk,
get_arquivos_ajustes_pre_migracao,
models_novos_para_antigos)
from sapl.legacy_migration_settings import (DIR_DADOS_MIGRACAO, DIR_REPO,
NOME_BANCO_LEGADO)
from sapl.legacy.migracao_dados import (
PROPAGACOES_DE_EXCLUSAO,
campos_novos_para_antigos,
exec_legado,
formatar_lista_para_sql,
get_apagados_que_geram_ocorrencias_fk,
get_arquivos_ajustes_pre_migracao,
get_conflitos_materias_legado_e_producao,
models_novos_para_antigos,
)
from sapl.legacy_migration_settings import (
DIR_DADOS_MIGRACAO,
DIR_REPO,
NOME_BANCO_LEGADO,
)
def stripsplit(ll):
@ -559,3 +567,19 @@ Apagados já no sapl 3.1 que precisaram ser restaurados:
{linhas}
"""
acrescenta_ao_arquivo_de_ajustes(texto)
def suspende_temporariamente_migracao_materias_conflito():
ids = formatar_lista_para_sql(
id_legado
for (
id_legado,
_,
) in get_conflitos_materias_legado_e_producao().values()
)
acrescenta_ao_arquivo_de_ajustes(
f"""
-- TEMPORARIO: materias em conflito entre legado nao migrado antes e producao
update materia_legislativa set ind_excluido = 1 where cod_materia in {ids};
"""
)

Loading…
Cancel
Save