Browse Source

Refatora move código

migracao
Marcio Mazza 2 years ago
parent
commit
55d5cf18d5
  1. 31
      sapl/legacy/migracao.py
  2. 18
      sapl/legacy/migracao_dados.py

31
sapl/legacy/migracao.py

@ -3,14 +3,7 @@ from getpass import getpass
import requests import requests
from django.core import management from django.core import management
from sapl.legacy.migracao_dados import ( from sapl.legacy.migracao_dados import REPO, TAG_MARCO, gravar_marco, info, migrar_dados
REPO,
TAG_MARCO,
gerar_backup_postgres,
gravar_marco,
info,
migrar_dados,
)
from sapl.legacy.migracao_documentos import migrar_documentos from sapl.legacy.migracao_documentos import migrar_documentos
from sapl.legacy.migracao_usuarios import migrar_usuarios from sapl.legacy.migracao_usuarios import migrar_usuarios
from sapl.legacy.scripts.exporta_zope.variaveis_comuns import TAG_ZOPE from sapl.legacy.scripts.exporta_zope.variaveis_comuns import TAG_ZOPE
@ -55,8 +48,24 @@ def migrar(primeira_migracao=True, apagar_do_legado=False):
verifica_diff(sigla) verifica_diff(sigla)
def compactar_media(): def gerar_backup_postgres():
print("Gerando backup do banco... ", end="", flush=True)
arq_backup = DIR_REPO.child("{}.backup".format(NOME_BANCO_LEGADO))
arq_backup.remove()
backup_cmds = [
f"""
docker exec postgres pg_dump -U sapl --format custom --blobs --verbose
--file {arq_backup.name} {NOME_BANCO_LEGADO}""",
f"docker cp postgres:{arq_backup.name} {arq_backup}",
f"docker exec postgres rm {arq_backup.name}",
]
for cmd in backup_cmds:
subprocess.check_output(cmd.split(), stderr=subprocess.DEVNULL)
REPO.git.add([arq_backup.name]) # type: ignore
print("SUCESSO")
def compactar_media():
# tar de media/sapl # tar de media/sapl
print("Criando tar de media... ", end="", flush=True) print("Criando tar de media... ", end="", flush=True)
arq_tar = DIR_REPO.child("{}.media.tar".format(NOME_BANCO_LEGADO)) arq_tar = DIR_REPO.child("{}.media.tar".format(NOME_BANCO_LEGADO))
@ -65,7 +74,7 @@ def compactar_media():
print("SUCESSO") print("SUCESSO")
PROPOSICAO_UPLOAD_TO = Proposicao._meta.get_field("texto_original").upload_to PROPOSICAO_UPLOAD_TO = Proposicao._meta.get_field("texto_original").upload_to # type: ignore
def salva_conteudo_do_sde(proposicao, conteudo): def salva_conteudo_do_sde(proposicao, conteudo):
@ -131,7 +140,7 @@ def commit_ajustes():
).read_file() ).read_file()
assert ajustes.count("RESSUSCITADOS") <= 1 assert ajustes.count("RESSUSCITADOS") <= 1
consulta_sapl = git.Repo(f"/home/mazza/work/consulta_sapls") consulta_sapl = git.Repo("/home/mazza/work/consulta_sapls") # type: ignore
consulta_sapl.git.add( consulta_sapl.git.add(
f"/home/mazza/work/consulta_sapls/ajustes_pre_migracao/{sigla}*" f"/home/mazza/work/consulta_sapls/ajustes_pre_migracao/{sigla}*"
) )

18
sapl/legacy/migracao_dados.py

@ -2,7 +2,6 @@ import datetime
import json import json
import os import os
import re import re
import subprocess
import traceback import traceback
from collections import OrderedDict, defaultdict from collections import OrderedDict, defaultdict
from dataclasses import dataclass from dataclasses import dataclass
@ -1840,23 +1839,6 @@ yaml.add_constructor("!time", time_constructor)
TAG_MARCO = "marco" TAG_MARCO = "marco"
def gerar_backup_postgres():
print("Gerando backup do banco... ", end="", flush=True)
arq_backup = DIR_REPO.child("{}.backup".format(NOME_BANCO_LEGADO))
arq_backup.remove()
backup_cmds = [
f"""
docker exec postgres pg_dump -U sapl --format custom --blobs --verbose
--file {arq_backup.name} {NOME_BANCO_LEGADO}""",
f"docker cp postgres:{arq_backup.name} {arq_backup}",
f"docker exec postgres rm {arq_backup.name}",
]
for cmd in backup_cmds:
subprocess.check_output(cmd.split(), stderr=subprocess.DEVNULL)
REPO.git.add([arq_backup.name]) # type: ignore
print("SUCESSO")
def gravar_marco(nome_dir, pula_se_ja_existe=False): def gravar_marco(nome_dir, pula_se_ja_existe=False):
"""Grava um dump de todos os dados como arquivos yaml no repo de marco""" """Grava um dump de todos os dados como arquivos yaml no repo de marco"""
# prepara ou localiza repositorio # prepara ou localiza repositorio

Loading…
Cancel
Save