# Comparativa intranet-prod1 vs intranet-desa2

Fecha: 2026-05-04

## Criterio usado

- `intranet-desa2.sql` se toma como destino general.
- Para todo el modulo `entregas_`, manda `intranet-prod1.sql`.
- Se evita borrar elementos que el codigo actual del repositorio sigue usando, aunque no aparezcan en el dump de desarrollo.

## Resumen

- Bloques `CREATE TABLE` detectados: produccion 75, desarrollo 76.
- Vistas detectadas: 5 en ambos dumps, sin cambios reales.
- No hay `INSERT INTO` en los dos dumps comparados; son volcados de estructura.

## Cambios aplicados por el script

- Crea las tablas nuevas de documentacion de locales:
  - `doc_locales`
  - `doc_local_documents`
- Crea las tablas nuevas de inventario:
  - `inventario_equipos`
  - `inventario_reportes`
  - `inventario_software`
- Ajusta `intranet_apps`:
  - `group_name` pasa a aceptar `NULL`.
  - `icon` pasa de `MEDIUMTEXT` a `VARCHAR(1024)`.
  - La tabla queda en `utf8mb4_spanish_ci`.
- Ajusta `intranet_links` a `utf8mb4_spanish_ci` para evitar errores de mezcla de collations al cruzarla con `intranet_catalog_groups`.
- Se anade un script global para normalizar todas las tablas a una collation espanola insensible a mayusculas y acentos.
- Normaliza claves duplicadas:
  - `inc_incidents`: deja `fk_inc_category` y elimina `fk_inc_category_new`.
  - `tsk_tasks`: deja `fk_tsk_type` y elimina `fk_tsk_type_new`.
- En `listin`, elimina las FK que no estan en desarrollo:
  - `fk_listin_sector`
  - `fk_listin_sub_seccion`

## Cambios excluidos a proposito

- `entregas_*`: no se toca. Desarrollo trae nombres `*_legacy` para algunas tablas, pero produccion actual manda en entregas.
- `compras_acquisitions.contabilizada`: aparece en produccion y no en el dump de desarrollo, pero el codigo actual de `apps/compras` y `plugins/compras` la usa.
- `permisos_*`: no aparecen en el dump de desarrollo, pero `apps/permisos` las usa.
- `sectores.id AUTO_INCREMENT`: desarrollo no lo trae, pero mantenerlo no rompe los inserts con ID manual. Se deja como ajuste opcional comentado en el SQL.

## Ficheros generados

- Script SQL: `scripts/migracion_prod1_a_desa2.sql`
- Hotfix de collations: `scripts/hotfix_catalogo_collations.sql`
- Normalizacion global de collations: `scripts/normalizar_collation_es.sql`
- Normalizacion global de collations para desarrollo: `scripts/normalizar_collation_es_desarrollo.sql`

## Nota sobre catalogo de apps

El archivo abierto `intranet_groups.sql` contiene datos de catalogo (`intranet_apps`, `intranet_app_groups`, `intranet_catalog_groups`). No lo he mezclado con esta migracion porque los dos dumps comparados son de estructura. Si se quiere sincronizar tambien el catalogo, conviene tratarlo como seed/datos con `INSERT ... ON DUPLICATE KEY UPDATE`.
