- 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>
165 lines
4.8 KiB
Markdown
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
|