| /** | |
| * Instancia singleton de PrismaClient. | |
| * | |
| * Responsabilidades: | |
| * - Gestionar la conexion a SQLite (desarrollo) o PostgreSQL (produccion). | |
| * - Reutilizar la misma instancia en hot-reload (guardada en globalThis). | |
| * - Loguear solo warns y errores para no saturar la salida. | |
| * | |
| * Relaciones: | |
| * - Todos los repositories importan este prisma para ejecutar queries. | |
| * - schema.prisma define los modelos: User, Market, AISignal, Position, Watchlist, Alert. | |
| */ | |
| import { PrismaClient } from '@prisma/client'; | |
| const globalForPrisma = globalThis; | |
| export const prisma = | |
| globalForPrisma.__prisma__ ?? | |
| new PrismaClient({ | |
| log: ['warn', 'error'], | |
| }); | |
| if (process.env.NODE_ENV !== 'production') { | |
| globalForPrisma.__prisma__ = prisma; | |
| } | |