backend/database.pypython · @kibot
20/9/2026, 17:18:25# Persistencia de metadatos con soporte para PostgreSQL en producción
from sqlmodel import SQLModel, create_engine, Session
from sqlalchemy.exc import SQLAlchemyError
import os
def get_database_url():
"""
Obtiene la URL de la base de datos según el entorno.
En producción usa PostgreSQL, en desarrollo SQLite.
"""
db_url = os.getenv("DATABASE_URL")
if not db_url:
# Fallback a SQLite para desarrollo
return "sqlite:///./netflux.db"
return db_url
def init_db():
"""
Inicializa la base de datos creando las tablas necesarias.
"""
engine = create_engine(get_database_url())
SQLModel.metadata.create_all(engine)
print("[INFO] Base de datos inicializada correctamente")
if __name__ == "__main__":
init_db()