workspace/projects/gamilit/docs/database/README.md
rckrdmrd ea1879f4ad feat: Initial workspace structure with multi-level Git configuration
- Configure workspace Git repository with comprehensive .gitignore
- Add Odoo as submodule for ERP reference code
- Include documentation: SETUP.md, GIT-STRUCTURE.md
- Add gitignore templates for projects (backend, frontend, database)
- Structure supports independent repos per project/subproject level

Workspace includes:
- core/ - Reusable patterns, modules, orchestration system
- projects/ - Active projects (erp-suite, gamilit, trading-platform, etc.)
- knowledge-base/ - Reference code and patterns (includes Odoo submodule)
- devtools/ - Development tools and templates
- customers/ - Client implementations template

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 10:44:23 -06:00

165 lines
4.8 KiB
Markdown

# docs/database/ - Directorio de Trazabilidad de Base de Datos
**IMPORTANTE:** Este directorio fue deprecado. La trazabilidad de base de datos NO va aquí.
## ❌ Enfoque Incorrecto (Deprecado)
```
docs/database/
├── SCHEMA_NAME_TRACEABILITY.yml ❌ NO crear archivos sueltos por schema
├── AUTH_TRACEABILITY.yml ❌ Documentación sin referencias
└── CONTENT_MANAGEMENT_TRACEABILITY.yml ❌ No referenciado desde épicas
```
**Problema:** Archivos de trazabilidad sueltos que no están referenciados desde requerimientos/épicas.
---
## ✅ Enfoque Correcto
La trazabilidad de base de datos debe ir en **los archivos TRACEABILITY.yml de cada épica**, bajo:
```
docs/
├── 01-fase-alcance-inicial/
│ └── EAI-XXX-nombre/
│ └── implementacion/
│ └── TRACEABILITY.yml ✅ Mapea objetos de BD aquí
├── 02-fase-robustecimiento/
│ └── EMR-XXX-nombre/
│ └── implementacion/
│ └── TRACEABILITY.yml ✅ Mapea objetos de BD aquí
└── 03-fase-extensiones/
└── EXT-XXX-nombre/
└── implementacion/
└── TRACEABILITY.yml ✅ Mapea objetos de BD aquí
```
### Ejemplo: EXT-006 (Gestión de Contenido)
**Ubicación:** `docs/03-fase-extensiones/EXT-006-contenido/implementacion/TRACEABILITY.yml`
```yaml
epic_code: EXT-006
epic_name: CMS para Contenido Educativo
implementation:
database:
tables:
- name: content_versions
type: new
description: Historial de versiones de contenido
schema: content_management
- name: content_approvals
type: new
description: Workflow de aprobación
schema: content_management
backend:
module: content-management
services:
- content-version.service.ts
- content-approval.service.ts
frontend:
components:
- VersionHistory.tsx
- ApprovalWorkflow.tsx
```
---
## 📋 Flujo de Trazabilidad Correcto
```
Requerimiento/Épica
TRACEABILITY.yml de la épica
Objetos de Base de Datos
Backend (services, entities)
Frontend (components)
```
### Beneficios de este enfoque:
1. **Trazabilidad clara:** Desde requerimiento hasta implementación
2. **Evita duplicación:** Antes de crear un objeto, verificar épicas existentes
3. **Documentación útil:** Referenciada y mantenida
4. **No documentación suelta:** Todo tiene propósito y referencias
---
## 📊 Inventarios (Ubicación Correcta)
Los inventarios globales de base de datos SÍ van en:
```
docs/90-transversal/inventarios-database/
├── inventarios/
│ ├── 01-SCHEMAS-INVENTORY.md ✅ Inventario de schemas
│ ├── 02-TABLES-INVENTORY.md ✅ Inventario de tablas
│ ├── 03-ENUMS-INVENTORY.md ✅ Inventario de ENUMs
│ ├── 04-FUNCTIONS-INVENTORY.md ✅ Inventario de funciones
│ ├── 05-TRIGGERS-INVENTORY.md ✅ Inventario de triggers
│ └── INVENTORY-MASTER-REPORT.md ✅ Reporte consolidado
├── DATABASE-PROJECT-README.md ✅ Estado del proyecto de BD
└── TRACKING-CORRECCIONES.md ✅ Tracking de correcciones
```
Y también en:
```
docs/90-transversal/inventarios/
├── DATABASE_INVENTORY.yml ✅ Inventario consolidado
├── BACKEND_INVENTORY.yml ✅ Inventario de backend
├── FRONTEND_INVENTORY.yml ✅ Inventario de frontend
└── TRACEABILITY_MATRIX.yml ✅ Matriz de trazabilidad
```
---
## 🎯 Uso de Este Directorio
Este directorio `docs/database/` puede usarse OPCIONALMENTE para:
1. **Documentación técnica complementaria** (si tiene sentido)
2. **ADRs específicos de base de datos** (decisiones arquitectónicas)
3. **Guías de diseño de schema** (estándares, patrones)
Pero **NO** para:
- ❌ Archivos de trazabilidad por schema
- ❌ Documentación que duplica TRACEABILITY.yml de épicas
- ❌ Inventarios (van en docs/90-transversal/)
---
## 🔧 Archivos Deprecados
Los siguientes archivos fueron movidos a `.deprecated` porque no están referenciados desde épicas:
- `CONTENT_MANAGEMENT_TRACEABILITY.yml.deprecated` - No referenciado
- `AUTH_TRACEABILITY.yml` - Eliminado (no tenía propósito)
Si necesitas información de estos archivos, migra el contenido útil a los TRACEABILITY.yml correspondientes de las épicas.
---
## 📚 Recursos
- **Guía de trazabilidad:** `docs/95-guias-desarrollo/GUIA-TRAZABILIDAD.md` (por crear)
- **Ejemplo completo:** `docs/03-fase-extensiones/EXT-006-contenido/implementacion/TRACEABILITY.yml`
- **Inventarios:** `docs/90-transversal/inventarios-database/`
- **Sistema SIMCO:** `docs/97-adr/ADR-0002-simco-system.md`
---
**Última actualización:** 2025-11-11
**Motivo:** Corrección de estructura de documentación - Trazabilidad debe ir en épicas, no en archivos sueltos