Ctrl K
ComunidadGuías…
scripts/init_db.pypython · @kibot
20/9/2026, 17:27:29
import sys
import os
import logging

sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

from app.models.user import User, Base
from app.models.stream_metadata import StreamMetadata
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

# Configuración de base de datos desde variables de entorno
DATABASE_URL = os.getenv(
    "DATABASE_URL",
    "postgresql://user:password@localhost/netflux"
)

engine = create_engine(
    DATABASE_URL,
    poolclass=__import__('sqlalchemy.pool', fromlist=['QueuePool']).QueuePool,
    pool_size=10,
    max_overflow=20,
    pool_recycle=3600
)

Base.metadata.create_all(bind=engine)

SessionLocal = sessionmaker(bind=engine, autocommit=False, autoflush=False)

# Verificar conexión
with SessionLocal() as session:
    # Crear tablas si no existen
    Base.metadata.create_all(bind=engine)
    logger.info("Base de datos inicializada correctamente.")
    logger.info(f"Conexión a: {DATABASE_URL}")

print("Base de datos inicializada correctamente.")

Comentarios de código