Browse Source

Verifica sequences novas maiores q da producao

migracao
Marcio Mazza 6 years ago
parent
commit
f364d8d397
  1. 31
      sapl/legacy/migracao.py

31
sapl/legacy/migracao.py

@ -3,6 +3,7 @@ import subprocess
from getpass import getpass from getpass import getpass
import requests import requests
import yaml
from django.core import management from django.core import management
from unipath import Path from unipath import Path
@ -34,6 +35,7 @@ def migrar(flush=False, apagar_do_legado=False):
migrar_usuarios(REPO.working_dir, primeira_migracao) migrar_usuarios(REPO.working_dir, primeira_migracao)
migrar_documentos(REPO, primeira_migracao) migrar_documentos(REPO, primeira_migracao)
gravar_marco() gravar_marco()
verifica_sequences()
def compactar_media(): def compactar_media():
@ -102,8 +104,8 @@ def tenta_correcao():
gravar_marco(versiona=False, gera_backup=False) gravar_marco(versiona=False, gera_backup=False)
sigla = NOME_BANCO_LEGADO[-3:] sigla = NOME_BANCO_LEGADO[-3:]
repo = f"~/migracao_sapl/repos/sapl_cm_{sigla}" repo = f"~/migracao_sapl/repos/sapl_cm_{sigla}"
cd = f"cd {repo}" cd = f"cd {repo}"
diff_cmd = f"{cd}; diff -rq producao dados" diff_cmd = f"{cd}; diff -rq producao dados"
print(repo) print(repo)
@ -121,12 +123,24 @@ def tenta_correcao():
f"{diff_cmd} | grep -v 'Only in dados' | grep -v 'Files producao/sequences.yaml and dados/sequences.yaml differ' | tee ~/migracao_sapl/diffs/{sigla}" # noqa f"{diff_cmd} | grep -v 'Only in dados' | grep -v 'Files producao/sequences.yaml and dados/sequences.yaml differ' | tee ~/migracao_sapl/diffs/{sigla}" # noqa
) )
print("^" * 80) print("^" * 80)
os.system(f"{cd}; vimdiff producao/sequences.yaml dados/sequences.yaml") verifica_sequences()
ajustes = Path(
f"/home/mazza/work/consulta_sapls/ajustes_pre_migracao/{sigla}.sql" def verifica_sequences():
).read_file() sigla = NOME_BANCO_LEGADO[-3:]
assert ajustes.count("RESSUSCITADOS") <= 1 repo = f"~/migracao_sapl/repos/sapl_cm_{sigla}"
sequences_producao, sequences_dados = [
yaml.safe_load(
Path(f"{repo}/{base}/sequences.yaml").expand_user().read_file()
)
for base in ("producao", "dados")
]
# as sequences novas devem ter valores maiores ou iguais aos da producao
assert all(
sequences_dados[seq] >= sequences_producao[seq]
for seq in sequences_producao
)
def commit_ajustes(): def commit_ajustes():
@ -134,6 +148,11 @@ def commit_ajustes():
sigla = NOME_BANCO_LEGADO[-3:] sigla = NOME_BANCO_LEGADO[-3:]
ajustes = Path(
f"/home/mazza/work/consulta_sapls/ajustes_pre_migracao/{sigla}.sql"
).read_file()
assert ajustes.count("RESSUSCITADOS") <= 1
consulta_sapl = git.Repo(f"/home/mazza/work/consulta_sapls") consulta_sapl = git.Repo(f"/home/mazza/work/consulta_sapls")
consulta_sapl.git.add( consulta_sapl.git.add(
f"/home/mazza/work/consulta_sapls/ajustes_pre_migracao/{sigla}.sql" f"/home/mazza/work/consulta_sapls/ajustes_pre_migracao/{sigla}.sql"

Loading…
Cancel
Save