erp-construccion-database-v2/seeds/dev/README.md
Adrian Flores Cortes 8df74f73d2 [TASK-2026-02-03-SEEDS] feat: Add complete development seeds for demo
Seeds include:
- 01-core-catalogs.sql: Units, currencies, taxes, banks, states (~100 records)
- 02-users-profiles.sql: 12 roles, 50+ permissions, 12 demo users
- 03-empresa-tenant.sql: Demo company with 2 branches, 4 warehouses
- 04-proyectos-obras.sql: 3 projects, stages, lots, apartments
- 05-presupuestos.sql: CMIC-based concepts, 5 budgets
- 06-estimaciones.sql: Contracts, estimates, advances
- 07-avances-calidad.sql: Progress, logbook, quality checklists
- 08-hse.sql: PPE catalog, training, incidents
- 09-finanzas.sql: Chart of accounts, CxP, CxC, balanced entries
- 10-activos-documentos.sql: Assets, maintenance, documents

Total: ~940 records for complete demo coverage

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 11:08:26 -06:00

142 lines
4.8 KiB
Markdown

# Seeds de Desarrollo - ERP Construcción
## Descripción
Este directorio contiene los seeds de desarrollo para el proyecto ERP Construcción. Los seeds crean datos de demostración que permiten probar todas las funcionalidades del sistema.
## Archivos de Seeds
| # | Archivo | Descripción | Registros Aprox. |
|---|---------|-------------|------------------|
| 01 | `01-core-catalogs.sql` | Unidades, monedas, impuestos, bancos, estados | ~100 |
| 02 | `02-users-profiles.sql` | Roles, permisos, usuarios demo | ~250 |
| 03 | `03-empresa-tenant.sql` | Tenant, sucursales, almacenes | ~25 |
| 04 | `04-proyectos-obras.sql` | Proyectos, etapas, lotes, deptos, subcontratistas | ~100 |
| 05 | `05-presupuestos.sql` | Conceptos, presupuestos, partidas | ~250 |
| 06 | `06-estimaciones.sql` | Contratos, estimaciones, anticipos | ~30 |
| 07 | `07-avances-calidad.sql` | Avances, bitácora, inspecciones, tickets | ~50 |
| 08 | `08-hse.sql` | EPP, capacitaciones, incidentes | ~40 |
| 09 | `09-finanzas.sql` | Cuentas, bancos, CxP, CxC, pólizas | ~60 |
| 10 | `10-activos-documentos.sql` | Equipos, mantenimiento, documentos | ~35 |
**Total aproximado:** ~940 registros
## Requisitos Previos
1. Base de datos PostgreSQL 15+ creada
2. DDL ejecutado (schemas creados)
3. Credenciales configuradas
## Cómo Ejecutar
### Opción 1: Script Automatizado (Recomendado)
```bash
# Desde Linux/WSL
cd /path/to/erp-construccion/database/seeds/dev
chmod +x load-dev-seeds.sh
./load-dev-seeds.sh
```
### Opción 2: Manual (Uno por uno)
```bash
# Orden de ejecución obligatorio
psql -U erp_admin -d erp_construccion_db -f 01-core-catalogs.sql
psql -U erp_admin -d erp_construccion_db -f 02-users-profiles.sql
psql -U erp_admin -d erp_construccion_db -f 03-empresa-tenant.sql
psql -U erp_admin -d erp_construccion_db -f 04-proyectos-obras.sql
psql -U erp_admin -d erp_construccion_db -f 05-presupuestos.sql
psql -U erp_admin -d erp_construccion_db -f 06-estimaciones.sql
psql -U erp_admin -d erp_construccion_db -f 07-avances-calidad.sql
psql -U erp_admin -d erp_construccion_db -f 08-hse.sql
psql -U erp_admin -d erp_construccion_db -f 09-finanzas.sql
psql -U erp_admin -d erp_construccion_db -f 10-activos-documentos.sql
```
### Opción 3: Desde Windows (PowerShell)
```powershell
$env:PGPASSWORD="erp_dev_2026"
Get-ChildItem *.sql | Sort-Object Name | ForEach-Object {
Write-Host "Cargando: $($_.Name)"
psql -h localhost -U erp_admin -d erp_construccion_db -f $_.FullName
}
```
## Usuarios Demo
| Rol | Email | Password | Descripción |
|-----|-------|----------|-------------|
| Super Admin | admin@demo.com | Demo2026! | Acceso total |
| Director | director@demo.com | Demo2026! | Reportes y aprobaciones |
| Gerente Obra | gerente1@demo.com | Demo2026! | Gestión de proyectos |
| Residente | residente1@demo.com | Demo2026! | Operación diaria |
| Supervisor | supervisor1@demo.com | Demo2026! | Control de campo |
| Almacenista | almacen1@demo.com | Demo2026! | Inventarios |
| Contador | contador1@demo.com | Demo2026! | Finanzas |
| RRHH | rrhh1@demo.com | Demo2026! | Personal |
| HSE | hse1@demo.com | Demo2026! | Seguridad |
| Calidad | calidad1@demo.com | Demo2026! | Control calidad |
| Comprador | comprador1@demo.com | Demo2026! | Compras |
| Cliente | visor1@demo.com | Demo2026! | Solo lectura |
## Proyectos Demo
### 1. Residencial Las Palmas (Horizontal)
- **Tipo:** Fraccionamiento horizontal
- **Unidades:** 120 lotes planificados
- **Etapas:** 3 (E1 en construcción)
- **Estado:** En progreso
### 2. Torre Diamante (Vertical)
- **Tipo:** Edificio de departamentos
- **Unidades:** 48 departamentos
- **Pisos:** 12 niveles
- **Estado:** En progreso
### 3. Plaza Central (Comercial)
- **Tipo:** Centro comercial
- **Unidades:** 24 locales
- **Etapas:** 2
- **Estado:** En planeación
## Empresa Demo
- **Nombre:** Constructora Demo S.A. de C.V.
- **RFC:** CDM010101ABC
- **Ubicación:** Aguascalientes, México
- **Sucursales:** 2 (Matriz + Obra Norte)
- **Almacenes:** 4
## Dependencias de Seeds
```
01-core-catalogs.sql (base)
02-users-profiles.sql
03-empresa-tenant.sql
04-proyectos-obras.sql
05-presupuestos.sql ←┬→ 07-avances-calidad.sql ←┬→ 08-hse.sql
↓ │ │
06-estimaciones.sql ←┘ │
↓ │
09-finanzas.sql ←───────────────────────────────┘
10-activos-documentos.sql
```
## Notas Técnicas
- Todos los UUIDs son determinísticos para reproducibilidad
- Los seeds usan `ON CONFLICT DO NOTHING` para ser idempotentes
- Cada seed incluye verificación de registros creados
- Password hash es bcrypt con salt 10
## Soporte
Para reportar problemas o sugerencias, crear issue en el repositorio o contactar al equipo de desarrollo.