# Instrucciones de Migración - Agregar Alas y Áreas de Oportunidad

## Fecha: 2025-10-06

## Descripción
Esta migración agrega dos nuevos campos a la tabla `result_configurations`:
- `alas_json`: Array JSON con información sobre las alas del eneatipo
- `areas_oportunidad_json`: Array JSON con áreas de oportunidad

## Pasos para ejecutar la migración

### Opción 1: Usando phpMyAdmin

1. Abre phpMyAdmin en tu navegador: `http://localhost/phpmyadmin`
2. Selecciona la base de datos `eneagrama` (o el nombre que uses)
3. Ve a la pestaña "SQL"
4. Copia y pega el contenido del archivo `add_alas_areas_oportunidad.sql`
5. Haz clic en "Continuar" para ejecutar

### Opción 2: Usando línea de comandos

```bash
# Navega a la carpeta de MySQL
cd C:\xampp4\mysql\bin

# Ejecuta la migración
mysql -u root -p eneagrama < C:\xampp4\htdocs\eneagrama_api\sql\add_alas_areas_oportunidad.sql
```

### Opción 3: Ejecutar SQL directamente

Ejecuta estos comandos SQL en tu base de datos:

```sql
ALTER TABLE `result_configurations`
ADD COLUMN `alas_json` longtext DEFAULT NULL COMMENT 'Array JSON de alas del eneatipo' AFTER `consejos_json`,
ADD COLUMN `areas_oportunidad_json` longtext DEFAULT NULL COMMENT 'Array JSON de áreas de oportunidad' AFTER `alas_json`;
```

## Verificación

Para verificar que la migración se ejecutó correctamente, ejecuta:

```sql
SELECT COLUMN_NAME, DATA_TYPE, COLUMN_COMMENT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'result_configurations'
AND COLUMN_NAME IN ('alas_json', 'areas_oportunidad_json');
```

Deberías ver dos filas con las columnas nuevas.

## Archivos modificados

### Frontend:
- ✅ `src/components/modals/ResultConfigModal.jsx` - Agregadas columnas de UI para Alas y Áreas de Oportunidad

### Backend:
- ✅ `modules/ResultConfigurations.php` - Actualizado para soportar los nuevos campos en:
  - `getResultConfigurations` - Lista de configuraciones
  - `getResultConfiguration` - Detalle de configuración
  - `createResultConfiguration` - Crear nueva configuración
  - `updateResultConfiguration` - Actualizar configuración
  - `duplicateResultConfiguration` - Duplicar configuración

### Base de datos:
- ✅ `sql/add_alas_areas_oportunidad.sql` - Script de migración

## Rollback

Si necesitas revertir los cambios:

```sql
ALTER TABLE `result_configurations`
DROP COLUMN `alas_json`,
DROP COLUMN `areas_oportunidad_json`;
```

## Notas adicionales

- Los campos son opcionales (DEFAULT NULL)
- Los datos se almacenan como JSON en formato UTF-8
- El frontend maneja automáticamente arrays vacíos si no hay datos
- Compatible con la estructura existente de configuraciones
