265 lines
5.3 KiB
Markdown
265 lines
5.3 KiB
Markdown
# Traza de Tareas - Database Layer
|
|
|
|
**Proyecto:** Platform Marketing Content (PMC)
|
|
**Capa:** Database (PostgreSQL)
|
|
**Estado:** Schema inicial completado
|
|
**Ultima actualizacion:** 2025-12-08
|
|
|
|
---
|
|
|
|
## Resumen de Estado
|
|
|
|
| Schema | Tablas Planificadas | Tablas Implementadas | Estado |
|
|
|--------|---------------------|----------------------|--------|
|
|
| auth | 4 | 4 | Completado |
|
|
| crm | 3 | 3 | Completado |
|
|
| projects | 2 | 2 | Completado |
|
|
| generation | 3 | 3 | Completado |
|
|
| assets | 2 | 2 | Completado |
|
|
| automation | 0 | 0 | Pendiente |
|
|
| analytics | 0 | 0 | Pendiente |
|
|
| **Total** | **14** | **14** | **100%** |
|
|
|
|
---
|
|
|
|
## Tareas Pendientes
|
|
|
|
### DB-001: Setup Inicial
|
|
|
|
```yaml
|
|
ID: DB-001
|
|
Descripcion: Crear estructura base de DDL
|
|
Estado: Pendiente
|
|
Asignado: Database-Agent-PMC
|
|
|
|
Entregables:
|
|
- apps/database/ddl/00-extensions.sql
|
|
- apps/database/ddl/01-schemas.sql
|
|
- apps/database/ddl/02-types/enums.sql
|
|
- apps/database/ddl/03-functions/set_updated_at.sql
|
|
- scripts/recreate-db.sh
|
|
|
|
Criterios:
|
|
- [ ] Carga limpia pasa
|
|
- [ ] Schemas creados (7)
|
|
- [ ] Funciones utilitarias creadas
|
|
```
|
|
|
|
### DB-002: Schema auth
|
|
|
|
```yaml
|
|
ID: DB-002
|
|
Descripcion: Tablas de autenticacion y multi-tenancy
|
|
Estado: Pendiente
|
|
Dependencias: DB-001
|
|
|
|
Tablas:
|
|
- auth.tenants
|
|
- auth.plans
|
|
- auth.users
|
|
- auth.roles
|
|
- auth.user_sessions
|
|
- auth.invitations
|
|
- auth.audit_logs
|
|
|
|
Catalogo: @CATALOG_TENANT, @CATALOG_AUTH
|
|
```
|
|
|
|
### DB-003: Schema crm
|
|
|
|
```yaml
|
|
ID: DB-003
|
|
Descripcion: Tablas de CRM
|
|
Estado: Pendiente
|
|
Dependencias: DB-002
|
|
|
|
Tablas:
|
|
- crm.clients
|
|
- crm.contacts
|
|
- crm.brands
|
|
- crm.products
|
|
- crm.opportunities
|
|
```
|
|
|
|
### DB-004: Schema projects
|
|
|
|
```yaml
|
|
ID: DB-004
|
|
Descripcion: Tablas de proyectos y campanas
|
|
Estado: Pendiente
|
|
Dependencias: DB-003
|
|
|
|
Tablas:
|
|
- projects.projects
|
|
- projects.campaigns
|
|
- projects.briefs
|
|
- projects.campaign_assets
|
|
- projects.approvals
|
|
```
|
|
|
|
### DB-005: Schema generation
|
|
|
|
```yaml
|
|
ID: DB-005
|
|
Descripcion: Tablas del motor de generacion
|
|
Estado: Pendiente
|
|
Dependencias: DB-003, DB-004
|
|
|
|
Tablas:
|
|
- generation.jobs
|
|
- generation.workflow_templates
|
|
- generation.custom_models
|
|
- generation.text_generations
|
|
```
|
|
|
|
### DB-006: Schema assets
|
|
|
|
```yaml
|
|
ID: DB-006
|
|
Descripcion: Tablas de DAM
|
|
Estado: Pendiente
|
|
Dependencias: DB-002
|
|
|
|
Tablas:
|
|
- assets.assets
|
|
- assets.asset_versions
|
|
- assets.collections
|
|
- assets.collection_assets
|
|
- assets.asset_comments
|
|
- assets.downloads
|
|
```
|
|
|
|
### DB-007: Schema automation
|
|
|
|
```yaml
|
|
ID: DB-007
|
|
Descripcion: Tablas de automatizacion
|
|
Estado: Pendiente
|
|
Dependencias: DB-002
|
|
|
|
Tablas:
|
|
- automation.automation_flows
|
|
- automation.automation_runs
|
|
- automation.webhook_endpoints
|
|
- automation.event_logs
|
|
```
|
|
|
|
### DB-008: Schema analytics
|
|
|
|
```yaml
|
|
ID: DB-008
|
|
Descripcion: Tablas de analytics
|
|
Estado: Pendiente
|
|
Dependencias: DB-002
|
|
|
|
Tablas:
|
|
- analytics.metrics
|
|
- analytics.reports
|
|
- analytics.saved_views
|
|
```
|
|
|
|
---
|
|
|
|
## Registro de Tareas Completadas
|
|
|
|
## [DB-001] Setup Inicial + Schema Completo
|
|
|
|
**Fecha:** 2025-12-08
|
|
**Estado:** Completado
|
|
**Agente:** Database-Agent-PMC
|
|
|
|
### Descripcion
|
|
Schema inicial completo con todos los schemas principales, tablas core, RLS, y seeds.
|
|
|
|
### Archivos Creados
|
|
- `database/schemas/001_initial_schema.sql`
|
|
- `database/seeds/001_initial_data.sql`
|
|
|
|
### Tablas Creadas
|
|
|
|
**Schema auth (4 tablas):**
|
|
- `auth.tenant_plans` - Planes de suscripcion
|
|
- `auth.tenants` - Organizaciones
|
|
- `auth.users` - Usuarios
|
|
- `auth.sessions` - Sesiones
|
|
- `auth.invitations` - Invitaciones
|
|
|
|
**Schema crm (3 tablas):**
|
|
- `crm.clients` - Clientes
|
|
- `crm.brands` - Marcas
|
|
- `crm.products` - Productos
|
|
|
|
**Schema projects (2 tablas):**
|
|
- `projects.projects` - Proyectos
|
|
- `projects.campaigns` - Campanas
|
|
|
|
**Schema generation (3 tablas):**
|
|
- `generation.workflows` - Workflows de generacion
|
|
- `generation.jobs` - Jobs de generacion
|
|
- `generation.custom_models` - Modelos LoRA
|
|
|
|
**Schema assets (2 tablas):**
|
|
- `assets.collections` - Colecciones
|
|
- `assets.assets` - Assets/archivos
|
|
|
|
### Validaciones Ejecutadas
|
|
- [x] RLS habilitado en todas las tablas de negocio
|
|
- [x] tenant_id presente en tablas multi-tenant
|
|
- [x] Indices creados para FK y campos frecuentes
|
|
- [x] Constraints CHECK para enums
|
|
- [x] Seeds de planes y workflows del sistema
|
|
|
|
### Seeds Incluidos
|
|
- 4 planes: Starter, Pro, Business, Enterprise
|
|
- 4 workflows del sistema: product_photo_synthetic, social_media_post, ad_variations, virtual_avatar
|
|
- Demo tenant y usuario para desarrollo
|
|
|
|
<!-- Template para tareas completadas:
|
|
|
|
## [DB-XXX] {Descripcion}
|
|
|
|
**Fecha:** {YYYY-MM-DD HH:MM}
|
|
**Estado:** Completado
|
|
**Agente:** Database-Agent-PMC
|
|
|
|
### Descripcion
|
|
{Que se hizo}
|
|
|
|
### Archivos Creados
|
|
- `apps/database/ddl/{schema}/tables/{tabla}.sql`
|
|
|
|
### Archivos Modificados
|
|
- `apps/database/ddl/01-schemas.sql`
|
|
|
|
### Validaciones Ejecutadas
|
|
- [x] Carga limpia: PASA
|
|
- [x] RLS habilitado: SI
|
|
- [x] tenant_id presente: SI
|
|
- [x] Indices creados: SI
|
|
- [x] COMMENT ON incluido: SI
|
|
|
|
### SQL de Verificacion
|
|
```sql
|
|
\d+ {schema}.{tabla}
|
|
```
|
|
|
|
### Inventario Actualizado
|
|
- orchestration/inventarios/DATABASE_INVENTORY.yml
|
|
- Seccion: schemas.{schema}.tables
|
|
|
|
-->
|
|
|
|
---
|
|
|
|
## Referencias
|
|
|
|
- Esquema BD: `docs/04-modelado/ESQUEMA-BD.md`
|
|
- Inventario DB: `orchestration/inventarios/DATABASE_INVENTORY.yml`
|
|
- Directiva Multi-tenant: `orchestration/directivas/DIRECTIVA-ARQUITECTURA-MULTI-TENANT.md`
|
|
- Prompt Database: `orchestration/prompts/PROMPT-DATABASE-PMC.md`
|
|
|
|
---
|
|
|
|
**Generado por:** Requirements-Analyst
|
|
**Fecha:** 2025-12-08
|