Genera db-schema/schema.sql (DDL completo: 12 enums, 14 tablas, FKs e índices) a partir del schema Drizzle, para que el equipo pueda consultar y proponer cambios sobre el modelo de datos sin leer las migraciones una a una. - db-schema/schema.sql: foto del esquema actual (drizzle-kit export) - db-schema/README.md: qué es cada tabla, cómo cambiar el modelo y cómo regenerar/levantar la BD desde este SQL - package.json: script db:export para regenerar la foto Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Esquema de la base de datos — Reformix B2C
schema.sql es el DDL consolidado de toda la base de datos en su estado actual:
12 enums, 14 tablas, sus claves foráneas e índices. Sirve para que el equipo entienda,
consulte y proponga cambios sobre el modelo de datos sin tener que leer las migraciones
una a una.
Tablas
| Tabla | Para qué |
|---|---|
tenants |
Reformistas (multi-tenant; en el MVP solo "Reformas Ejemplo") |
plans |
Planes de suscripción |
users / sessions |
Auth del panel del reformista |
leads |
Lead del cliente final + estado del funnel + resultado (presupuesto, render, transcripción) |
lead_fotos |
Fotos que sube el cliente del espacio a reformar |
lead_pipeline_eventos |
Traza de cada paso del pipeline (prellamada, llamada, render, presupuesto, WhatsApp) |
lead_estado_history |
Historial de cambios de estado comercial del lead |
catalog_items |
Catálogo de materiales del reformista (precio, calidad, unidad) — entrada del motor de presupuesto |
pricing_config |
Config de precios del reformista (mano de obra, márgenes…) |
precision_history |
Histórico de precisión de las estimaciones |
galeria_fotos |
Galería de trabajos del reformista |
testimonios / testimonio_fotos |
Reseñas con fotos |
Importante: la fuente de la verdad es src/db/schema.ts
No edites schema.sql a mano. El esquema real vive en src/db/schema.ts
(Drizzle ORM) y los cambios se aplican con migraciones en drizzle/.
Este archivo es una foto generada a partir de ese schema.
Para cambiar el modelo de datos
- Edita
src/db/schema.ts. - Genera la migración:
npx drizzle-kit generate - Aplícala:
npx drizzle-kit migrate - Regenera esta foto (ver abajo).
Regenerar schema.sql
cd mvp/b2c
npm run db:export
Levantar una base de datos local desde cero con este SQL
docker run --name reformix-pg -e POSTGRES_PASSWORD=reformix -e POSTGRES_DB=reformix -p 5432:5432 -d postgres:17
psql "postgresql://postgres:reformix@localhost:5432/reformix" -f db-schema/schema.sql
El
exportno incluye datos semilla (tenant de ejemplo, catálogo, planes). Para eso usa el seed del proyecto si existe, o inserta los registros base manualmente.