Skip to main content
Comfaca Créditos en Línea usa Prisma ORM como capa de acceso a datos sobre una base de datos MariaDB o MySQL. El cliente Prisma se genera en prisma/generated/prisma y las migraciones viven en prisma/migrations/. Esta página explica cómo preparar la base de datos desde cero hasta tener datos de prueba listos.

Requisitos

La variable de entorno DATABASE_URL debe contener la cadena de conexión en formato MySQL:
Para separar entornos de desarrollo y producción puedes definir DATABASE_URL_DEV y DATABASE_URL_PRO junto con DATABASE_ENV:

Configuración de Prisma

prisma.config.ts

El archivo de configuración carga las variables de entorno con dotenv y selecciona dinámicamente la URL según DATABASE_ENV:

prisma/schema.prisma — generator y datasource

El cliente generado se ubica en prisma/generated/prisma, que está configurado como alias en nuxt.config.ts para resolución en tiempo de compilación.

Comandos de Base de Datos

Todos los comandos están definidos en package.json y se ejecutan con pnpm:
1

Generar el cliente Prisma

Compila el esquema y genera el cliente TypeScript en prisma/generated/prisma. Ejecuta este comando cada vez que modifiques schema.prisma.
Equivalente a prisma generate.
2

Ejecutar migraciones pendientes

Aplica todas las migraciones en prisma/migrations/ que aún no se hayan ejecutado en la base de datos activa. En desarrollo, si no existen migraciones previas, crea la base desde cero.
Equivalente a prisma migrate dev --schema=./prisma/schema.prisma.
3

Cargar datos semilla

Ejecuta el script prisma/seed-database.ts que llama a todos los seeders disponibles en prisma/seeders/.
Equivalente a prisma db seed (el comando está configurado en prisma.config.ts).
4

Sincronizar esquema sin migración (solo dev)

Envía el esquema directamente a la base de datos sin crear archivos de migración. Útil para prototipar cambios rápidos en desarrollo.
Equivalente a prisma db push.
5

Reset completo (solo dev)

Elimina toda la base de datos, vuelve a aplicar las migraciones desde cero y ejecuta los seeders automáticamente.
Equivalente a prisma migrate reset --schema=./prisma/schema.prisma.
6

Introspección del esquema existente

Lee el esquema de la base de datos activa e importa su estructura al archivo schema.prisma. Útil para sincronizar el esquema de Prisma con una base de datos ya existente que no fue creada con migraciones.
Equivalente a prisma db pull.
Nunca ejecutes pnpm db:reset en producción. Este comando destruye todos los datos de la base de datos sin posibilidad de recuperación. Úsalo exclusivamente en entornos de desarrollo locales.

Modelos Principales

El esquema define los siguientes modelos centrales del dominio crediticio:

Datos Semilla

El directorio prisma/seeders/ contiene un archivo de seeder por cada tabla del dominio. El script principal prisma/seed-database.ts los orquesta en el orden correcto respetando las relaciones de clave foránea. Para cargar únicamente los seeders de CMS sin afectar datos de dominio, existe el script alternativo prisma/seed-cms-only.ts.