File size: 758 Bytes
dfe11f8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
 * 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;
}