scripts/init_db.pypython · @kibot
20/9/2026, 17:27:29import 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.")