Opciones de base de datos
- Supabase (recomendado)
- PostgreSQL local
Crear un proyecto
Ve a supabase.com, crea una cuenta y luego un nuevo proyecto. Elige la región más cercana a tus usuarios.
Obtener la cadena de conexión
En el panel de tu proyecto: Settings → Database → Connection string → URI.Copia la URL y úsala como valor de
DATABASE_URL en tu archivo .env. Asegúrate de reemplazar [YOUR-PASSWORD] con la contraseña del proyecto.Configurar Prisma y ejecutar migraciones
Instalar dependencias
Si aún no lo has hecho, instala los paquetes npm desde la raíz del repositorio:
Generar el cliente Prisma
Este comando lee Debes volver a ejecutarlo cada vez que modifiques el schema.
prisma/schema.prisma y genera el cliente TypeScript tipado en node_modules/@prisma/client:Sincronizar el esquema con la base de datos
- Desarrollo (db push)
- Producción (migrate deploy)
Aplica el esquema directamente sin crear archivos de migración. Útil durante el desarrollo activo:
Modelos del esquema
El archivoprisma/schema.prisma define los siguientes modelos principales:
| Modelo | Descripción |
|---|---|
Usuario | Cuentas de acceso con roles: ESTUDIANTE, PSICOLOGO, ORIENTADOR, DIRECTOR, ADMIN |
Estudiante | Datos del alumno: CURP, nombre, edad, sexo, grado, grupo, escuela |
Tamizaje | Resultado completo de un SENA: las 31 escalas en puntuación T, tipoCaso, semaforo e itemsCriticos |
ExpedienteClinico | Expediente psicológico individual: motivo de consulta, antecedentes, diagnóstico preliminar y plan de intervención |
HistoricoSENA | Corpus de tamizajes históricos para entrenamiento del modelo Random Forest |
EntrenamientoML | Registro de cada entrenamiento: accuracy, CV mean/std, importancia de variables y reporte por clase |
Nota sobre el adaptador Neon / Supabase
El proyecto usa
@neondatabase/serverless y @prisma/adapter-neon para conectarse a Supabase o Neon PostgreSQL a través de HTTP en entornos serverless (Vercel Edge, funciones sin conexión TCP persistente). El cliente Prisma se inicializa con el adaptador en lib/db.ts. Si usas un servidor PostgreSQL estándar con conexión TCP directa, el adaptador @prisma/adapter-pg también está disponible en el proyecto.