51 lines
1.8 KiB
Python
51 lines
1.8 KiB
Python
import asyncio
|
|
import subprocess
|
|
from app.scripts.initialize_permissions import initialize_permissions # Importe a função correta
|
|
from app.database.session import sessionmanager
|
|
from app.config import URL_BD
|
|
|
|
|
|
def alembic_upgrade():
|
|
try:
|
|
print("Iniciando Migrações Alembic das Tabelas Compartilhadas")
|
|
shared = subprocess.run(
|
|
["alembic", "-x", "special_schema=shared", "upgrade", "head"],
|
|
check=True, capture_output=True, text=True)
|
|
print("Migração Alembic das Tabelas Compartilhadas finalizado com sucesso.")
|
|
print(shared.stdout)
|
|
print("Iniciando Migrações Alembic das Tabelas Modelo dos Inquilinos")
|
|
default_tenant = subprocess.run(["alembic", "-x", "tenant=default_tenant",
|
|
"upgrade", "head"], check=True, capture_output=True, text=True)
|
|
print("Migração Alembic das Tabelas Modelo dos Inquilinos finalizado com sucesso.")
|
|
print(default_tenant.stdout)
|
|
except subprocess.CalledProcessError as e:
|
|
print("Erro durante Migrações Alembic.")
|
|
print("Erro na Migração Alembic:")
|
|
print("Saída padrão (stdout):", e.stdout)
|
|
print("Erro padrão (stderr):", e.stderr)
|
|
print("Código de saída:", e.returncode)
|
|
raise
|
|
|
|
|
|
async def main():
|
|
try:
|
|
alembic_upgrade()
|
|
except Exception as e:
|
|
print(f"Erro na Migração Alembic: {e}")
|
|
return
|
|
|
|
# Inicializar o gerenciador de sessão
|
|
sessionmanager.init(URL_BD)
|
|
|
|
try:
|
|
# Executar a função para inicializar permissões e papéis
|
|
await initialize_permissions()
|
|
finally:
|
|
# Fechar o gerenciador de sessão
|
|
await sessionmanager.close()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
# Rodar o script assíncrono
|
|
asyncio.run(main())
|