This commit completes the merge process, incorporating remote changes that conflicted with local modifications. It also stages and commits all remaining modified and untracked files as per the user's instruction to 'upload everything without exception'.
20 KiB
PLAN DE MIGRACIÓN COMPLETO - SEPARACIÓN DE PLATAFORMAS DISCORD/TELEGRAM
OPCIÓN 1: SEPARACIÓN GRADUAL CON MANTENIMIENTO DE COMPATIBILIDAD
Fecha: 8 de febrero de 2026 Duración estimada: 15-20 días laborales Riesgo: Alto (Mitigado con backups y pruebas) Impacto: Muy alto (Requiere planificación cuidadosa)
========================================== VISIÓN GENERAL Y ESTRATEGIA
Objetivo: Crear dos instancias completamente independientes del sistema de bots, manteniendo funcionalidad existente y evitando downtime crítico.
Estrategia:
- Crear estructura paralela sin afectar sistema actual
- Migrar datos de forma segura
- Implementar routing específico por plataforma
- Validar extensivamente antes de corte
- Realizar cambio mínimo de DNS/configuración final
========================================== ESTRUCTURA OBJETIVO FINAL
/bot/ ├── shared/ # Mínimo compartido (solo config general) │ ├── config_basic.php # Configuración no sensible │ └── constants.php # Constantes globales ├── discord/ │ ├── bot.php # Bot de Discord independiente │ ├── web/ │ │ ├── create_message.php # Interfaz específica Discord │ │ ├── admin/ # Admin específico Discord │ │ └── templates/ # Templates específicos │ ├── includes/ │ │ ├── db.php # Conexión específica Discord │ │ ├── DiscordSender.php # Sender específico │ │ ├── message_handler.php # Handler específico │ │ └── [todos los includes específicos] │ ├── database/ │ │ └── estructura_discord.sql # Tablas específicas Discord │ └── logs/ │ └── discord_.log # Logs específicos ├── telegram/ │ ├── bot.php # Bot de Telegram independiente │ ├── web/ │ │ ├── create_message.php # Interfaz específica Telegram │ │ ├── admin/ # Admin específico Telegram │ │ └── templates/ # Templates específicos │ ├── includes/ │ │ ├── db.php # Conexión específica Telegram │ │ ├── TelegramSender.php # Sender específico │ │ ├── message_handler.php # Handler específico │ │ └── [todos los includes específicos] │ ├── database/ │ │ └── estructura_telegram.sql # Tablas específicas Telegram │ └── logs/ │ └── telegram_.log # Logs específicos └── legacy/ # Backup del sistema actual └── [todo el código actual]
========================================== FASE 1: PREPARACIÓN Y ANÁLISIS (Días 1-2)
Objetivo: Análisis detallado y preparación del entorno
DÍA 1: Análisis de Dependencias ├── MAÑANA (4 horas): │ ├── Mapear todas las dependencias entre archivos │ ├── Identificar archivos críticos compartidos │ ├── Documentar flujo completo de datos │ └── Crear diagrama de arquitectura actual ├── TARDE (4 horas): │ ├── Análisis de base de datos actual │ ├── Identificar tablas compartidas vs específicas │ ├── Documentar relaciones y constraints │ └── Estimar volumen de datos a migrar
DÍA 2: Planificación y Preparación ├── MAÑANA (4 horas): │ ├── Crear repositorio de backup completo │ ├── Setup de entorno de pruebas paralelo │ ├── Definir estrategia de rollback │ └── Preparar scripts de validación ├── TARDE (4 horas): │ ├── Crear estructura de directorios destino │ ├── Setup de base de datos de pruebas │ ├── Preparar scripts de migración de datos │ └── Documentar puntos críticos de validación
DELIVERABLES FASE 1: ✅ Diagrama de dependencias completo ✅ Estructura de directorios creada ✅ Entorno de pruebas funcionando ✅ Scripts de backup y rollback listos ✅ Documentación de puntos críticos
========================================== FASE 2: DUPLICACIÓN DE ESTRUCTURA (Días 3-5)
Objetivo: Crear estructura base duplicada sin modificar sistema actual
DÍA 3: Estructura de Directorios y Configuración ├── MAÑANA (4 horas): │ ├── Copiar estructura completa a /discord/ y /telegram/ │ ├── Crear archivos de configuración específicos │ ├── Setup de variables de entorno separadas │ └── Configurar paths relativos específicos ├── TARDE (4 horas): │ ├── Adaptar includes de cada plataforma │ ├── Configurar logging específico por plataforma │ ├── Ajustar rutas de templates y assets │ └── Validar estructura básica
DÍA 4: Base de Datos Específica ├── MAÑANA (4 horas): │ ├── Exportar estructura completa de DB actual │ ├── Crear databases discord_bot y telegram_bot │ ├── Importar estructura a ambas BDs │ └── Configurar usuarios y permisos específicos ├── TARDE (4 horas): │ ├── Crear scripts de conexión específicos │ ├── Adaptar archivos de configuración de DB │ ├── Probar conexiones a ambas BDs │ └── Validar que no haya cruces
DÍA 5: Adaptación Básica de Código ├── MAÑANA (4 horas): │ ├── Adaptar paths de includes en cada plataforma │ ├── Modificar require_once para paths relativos │ ├── Actualizar rutas de templates │ └── Ajustar configuración de logging ├── TARDE (4 horas): │ ├── Probar carga básica de archivos PHP │ ├── Validar que no haya errores de sintaxis │ ├── Verificar conexión a DB específica │ └── Documentar cambios realizados
DELIVERABLES FASE 2: ✅ Estructura duplicada completa ✅ Bases de datos separadas funcionando ✅ Configuración específica por plataforma ✅ Validación básica de estructura
========================================== FASE 3: MIGRACIÓN DE DATOS (Días 6-9)
Objetivo: Migrar datos de forma segura manteniendo integridad
DÍA 6: Scripts de Migración ├── MAÑANA (4 horas): │ ├── Crear scripts de exportación por plataforma │ ├── Implementar filtros por platform='discord'/'telegram' │ ├── Setup de validación de integridad referencial │ └── Preparar scripts de rollback de datos ├── TARDE (4 horas): │ ├── Test de scripts con subset de datos │ ├── Validar integridad de datos migrados │ ├── Verificar counts y relaciones │ └── Optimizar rendimiento de migración
DÍA 7: Migración de Datos Principales ├── MAÑANA (4 horas): │ ├── Backup completo de producción │ ├── Migrar tabla recipients (filtrada por plataforma) │ ├── Migrar tabla messages │ └── Migrar tabla schedules ├── TARDE (4 horas): │ ├── Migrar tabla sent_messages │ ├── Migrar tabla recurrent_messages │ ├── Migrar tabla supported_languages │ └── Validar integridad de relaciones
DÍA 8: Migración de Datos de Configuración ├── MAÑANA (4 horas): │ ├── Migrar tabla activity_log (con prefijo) │ ├── Migrar tabla translation_queue │ ├── Migrar tabla telegram_interactions (solo Telegram) │ └── Migrar configuraciones específicas ├── TARDE (4 horas): │ ├── Validar consistencia de datos migrados │ ├── Verificar counts vs original │ ├── Test de queries complejas │ └── Documentar datos migrados
DÍA 9: Validación y Ajustes de Datos ├── MAÑANA (4 horas): │ ├── Ejecutar scripts de validación completa │ ├── Verificar integridad referencial │ ├── Test de operaciones CRUD │ └── Validar timestamps y secuencias ├── TARDE (4 horas): │ ├── Corregir anomalías encontradas │ ├── Optimizar índices específicos │ ├── Validar performance de queries │ └── Preparar reporte de migración
DELIVERABLES FASE 3: ✅ Datos completamente migrados a ambas BDs ✅ Validación de integridad completada ✅ Scripts de rollback de datos probados ✅ Documentación de migración
========================================== FASE 4: ADAPTACIÓN DE LÓGICA DE NEGOCIO (Días 10-13)
Objetivo: Adaptar toda la lógica para operación independiente
DÍA 10: Adaptación de Bot Files ├── MAÑANA (4 horas): │ ├── Adaptar discord_bot.php para BD específica │ ├── Adaptar telegram_bot_webhook.php para BD específica │ ├── Ajustar conexiones y paths │ └── Configurar logging específico ├── TARDE (4 horas): │ ├── Adaptar includes específicos de cada bot │ ├── Modificar handlers de mensajes │ ├── Ajustar sistemas de traducción │ └── Validar funcionamiento básico
DÍA 11: Adaptación de Web Interface - Discord ├── MAÑANA (4 horas): │ ├── Adaptar discord/web/create_message.php │ ├── Modificar para usar BD específica │ ├── Ajustar recipient selection │ └── Configurar paths específicos ├── TARDE (4 horas): │ ├── Adaptar discord/web/admin/ │ ├── Modificar todos los archivos de admin │ ├── Ajustar templates específicos │ └── Validar interfaz completa
DÍA 12: Adaptación de Web Interface - Telegram ├── MAÑANA (4 horas): │ ├── Adaptar telegram/web/create_message.php │ ├── Modificar para usar BD específica │ ├── Ajustar recipient selection │ └── Configurar paths específicos ├── TARDE (4 horas): │ ├── Adaptar telegram/web/admin/ │ ├── Modificar todos los archivos de admin │ ├── Ajustar templates específicos │ └── Validar interfaz completa
DÍA 13: Adaptación de Procesos en Background ├── MAÑANA (4 horas): │ ├── Adaptar discord/process_queue.php │ ├── Adaptar telegram/process_queue.php │ ├── Ajustar sistemas de traducción específicos │ └── Configurar logging independiente ├── TARDE (4 horas): │ ├── Adaptar scripts de workers │ ├── Modificar sistemas de scheduling │ ├── Ajustar procesos de traducción │ └── Validar procesos background
DELIVERABLES FASE 4: ✅ Bots funcionando con BDs específicas ✅ Interfaces web adaptadas y funcionando ✅ Procesos background adaptados ✅ Logging específico funcionando
========================================== FASE 5: TESTING Y VALIDACIÓN (Días 14-16)
Objetivo: Validación exhaustiva antes de producción
DÍA 14: Testing Funcional ├── MAÑANA (4 horas): │ ├── Test completo de bot de Discord │ ├── Validar todos los comandos │ ├── Probar envío de mensajes │ └── Test de sistema de traducción ├── TARDE (4 horas): │ ├── Test completo de bot de Telegram │ ├── Validar todos los comandos │ ├── Probar envío de mensajes │ └── Test de sistema de traducción
DÍA 15: Testing de Web Interface ├── MAÑANA (4 horas): │ ├── Test completo de web Discord │ ├── Probar creación de mensajes │ ├── Test de administración │ └── Validar programación ├── TARDE (4 horas): │ ├── Test completo de web Telegram │ ├── Probar creación de mensajes │ ├── Test de administración │ └── Validar programación
DÍA 16: Testing de Integración y Stress ├── MAÑANA (4 horas): │ ├── Test de ambas plataformas simultáneamente │ ├── Validar que no haya interferencia │ ├── Test de carga concurrente │ └── Medición de rendimiento ├── TARDE (4 horas): │ ├── Test de procesos background │ ├── Validar sistema de traducción bajo carga │ ├── Test de recuperación de errores │ └── Documentar resultados
DELIVERABLES FASE 5: ✅ Validación funcional completa ✅ Testing de integración exitoso ✅ Métricas de性能 documentadas ✅ Checklist de validación completado
========================================== FASE 6: DEPLOY Y MIGRACIÓN FINAL (Días 17-18)
Objetivo: Migración final con mínimo impacto
DÍA 17: Preparación para Producción ├── MAÑANA (4 horas): │ ├── Backup final de sistema actual │ ├── Preparar entorno de producción │ ├── Configurar DNS y rutas │ └── Documentar plan de corte ├── TARDE (4 horas): │ ├── Configurar variables de entorno producción │ ├── Validar conexiones a BDs finales │ ├── Test de endpoints expuestos │ └── Preparar monitoreo
DÍA 18: Migración Final ├── MAÑANA (2 horas) - WINDOW DE MIGRACIÓN: │ ├── Poner sistema actual en modo mantenimiento │ ├── Migrar última data diferencial │ ├── Apuntar rutas a nuevos sistemas │ └── Iniciar nuevos servicios ├── MAÑANA (2 horas) - VALIDACIÓN INMEDIATA: │ ├── Verificar bots conectados │ ├── Test básico de funcionalidad │ ├── Validar logs corriendo │ └── Confirmar no hay errores críticos ├── TARDE (4 horas) - MONITOREO INTENSIVO: │ ├── Monitorear rendimiento │ ├── Validar todas las funcionalidades │ ├── Revisar logs en tiempo real │ └── Estar listo para rollback si es necesario
DELIVERABLES FASE 6: ✅ Sistema completamente migrado ✅ Ambas plataformas funcionando independientemente ✅ Monitoreo activo implementado ✅ Plan de rollback validado
========================================== FASE 7: POST-MIGRACIÓN Y OPTIMIZACIÓN (Días 19-20)
Objetivo: Optimizar y documentar nueva arquitectura
DÍA 19: Optimización y Ajustes ├── MAÑANA (4 horas): │ ├── Analizar performance post-migración │ ├── Optimizar queries específicos │ ├── Ajustar configuración de cache │ └── Optimizar índices de BD ├── TARDE (4 horas): │ ├── Configurar monitoreo específico │ ├── Setup de alertas personalizadas │ ├── Optimizar procesos background │ └── Ajustar configuración de logs
DÍA 20: Documentación y Handover ├── MAÑANA (4 horas): │ ├── Documentar nueva arquitectura │ ├── Crear guías de operación │ ├── Documentar procedimientos de backup │ └── Preparar documentación técnica ├── TARDE (4 horas): │ ├── Capacitar al equipo en nueva estructura │ ├── Crear runbooks de operación │ ├── Documentar puntos críticos │ └── Cerrar proyecto exitosamente
DELIVERABLES FASE 7: ✅ Sistema optimizado funcionando ✅ Documentación completa ✅ Equipo capacitado ✅ Proyecto cerrado exitosamente
========================================== RIESGOS CRÍTICOS Y MITIGACIÓN
RIESGO 1: Pérdida de Datos During Migración ├── Impacto: Crítico ├── Mitigación: │ ├── Múltiples backups (antes, durante, después) │ ├── Scripts de validación de integridad │ ├── Test con datos de prueba primero │ └── Rollback planificado y testado
RIESGO 2: Downtime Prolongado ├── Impacto: Alto ├── Mitigación: │ ├── Ventana de migración planificada │ ├── Estructura paralela pre-creada │ ├── Scripts automatizados para velocidad │ └── Team listo para rollback inmediato
RIESGO 3: Regresiones Funcionales ├── Impacto: Alto ├── Mitigación: │ ├── Testing extensivo en ambiente aislado │ ├── Checklist de validación detallado │ ├── Monitoreo intensivo post-migración │ └── Equipo de soporte listo
RIESGO 4: Problemas de Performance ├── Impacto: Medio ├── Mitigación: │ ├── Medición de baseline actual │ ├── Optimización específica por plataforma │ ├── Monitoreo continuo de métricas │ └── Plan de optimización post-migración
========================================== REQUERIMIENTOS DE RECURSOS
Personal: ├── 1 Desarrollador Senior (Líder del proyecto) ├── 1 Desarrollador Mid (Soporte técnico) ├── 1 DBA (Para migración de datos) └── 1 DevOps/Infraestructura (Para deploy)
Infraestructura: ├── Servidor adicional para staging/paralelo ├── 2 bases de datos adicionales ├── Storage extra para backups └── Herramientas de monitoreo
Software/Herramientas: ├── Herramientas de comparación de BD ├── Scripts de migración automatizados ├── Sistema de control de versiones └── Herramientas de testing automatizado
========================================== MÉTRICAS DE ÉXITO
Técnicas: ✅ 0% de pérdida de datos durante migración ✅ <30 minutos de downtime total ✅ 100% de funcionalidades validadas ✅ Performance igual o superior al sistema actual
Operativas: ✅ 100% de independencia entre plataformas ✅ Capacidad de actualizar una plataforma sin afectar la otra ✅ Logs y monitoreo específico por plataforma ✅ Documentación completa y accesible
========================================== CHECKLIST FINAL DE VALIDACIÓN
Pre-Migración: ☐ Backup completo realizado y validado ☐ Scripts de migración testeados extensivamente ☐ Equipo completo notificado y listo ☐ Ventana de mantenimiento comunicada a usuarios ☐ Plan de rollback testado y validado
Post-Migración: ☐ Ambos bots conectados y funcionando ☐ Interfaces web accesibles y funcionales ☐ Datos migrados correctamente (counts validados) ☐ Logs generándose correctamente ☐ Procesos background corriendo ☐ Monitoreo detectando anomalías ☐ Backup post-migración realizado
Week Post-Migración: ☐ Performance estable ☐ Usuarios reportando normalidad ☐ Logs sin errores críticos ☐ Sistemas de traducción funcionando ☐ Programación de mensajes funcionando ☐ Documentación completada ☐ Equipo capacitado
========================================== CONCLUSIÓN
Este plan proporciona una ruta clara y estructurada para lograr la separación completa de las plataformas Discord y Telegram con mínimo riesgo y máximo beneficio.
La separación permitirá:
- Desarrollo independiente
- Despliegues seguros y aislados
- Especialización por plataforma
- Mayor estabilidad operativa
- Escalabilidad independiente
El tiempo estimado (15-20 días) considera todas las validaciones necesarias para garantizar una migración exitosa sin impacto crítico en el negocio.