# Dump
mysqldump -u <user> -p <database_name> > suitecrm_$(date +%Y%m%d).sql
# Restore on new server
mysql -u <user> -p <database_name> < suitecrm_$(date +%Y%m%d).sql
Esta guía está dirigida a los administradores que gestionan actualizaciones de bases de datos grandes, instancias muy personalizadas o saltos de versión significativos. Cubre la planificación, la ejecución y los cuidados posteriores a la actualización necesarios para reducir el riesgo y proteger la continuidad.
Para una actualización estándar en una instancia pequeña o con pocas personalizaciones, las guías del Upgrade Wizard o de Actualización por CLI son suficientes por sí solas.
Resuelva los problemas conocidos antes de actualizar. Partir de un estado no saludable dificulta distinguir los problemas preexistentes de los relacionados con la actualización.
Compruebe si hay tablas de tamaño excesivo. Algunas tablas acumulan con el tiempo grandes volúmenes de registros eliminados de forma lógica (soft-deleted). Revise su base de datos en busca de tablas con un número de filas inesperadamente alto y considere depurarlas antes de actualizar.
Revise sus logs. Compruebe suitecrm.log en busca de errores recurrentes. Conocer su estado de errores de referencia le permite identificar con mayor claridad cualquier problema nuevo que aparezca tras la actualización.
Cuando se actualiza una parte de su infraestructura, a menudo otras deben actualizarse con ella. Dedique tiempo a pensar en el alcance completo antes de empezar:
Elija la versión de destino de SuiteCRM. Consulte la Matriz de Compatibilidad para confirmar que su versión de PHP, base de datos y servidor web son compatibles.
Asegúrese de que su versión de PHP tenga suficiente vida de soporte restante; consulte php.net/supported-versions.
Decida si aprovechará esta oportunidad para mejorar su infraestructura: pasar a un servidor más reciente, separar la capa de base de datos, adoptar contenedores o máquinas virtuales, o trabajar desde un repositorio git para una mejor gestión de cambios.
Su objetivo es actualizar sin romper la funcionalidad de la que dependen sus usuarios. Empiece por enumerar todo lo que no forma parte del producto principal:
Complementos y extensiones: ¿son compatibles con la versión de destino?
Temas personalizados o cambios de logotipo/marca
Diseños personalizados mediante Studio
Logic Hooks y flujos de trabajo
Cualquier cambio de código realizado directamente en los archivos del núcleo en lugar de en el directorio /custom; estos se sobrescribirán y deberán volver a aplicarse tras la actualización de una forma segura para futuras actualizaciones
Una actualización del CRM afecta a los procesos diarios de toda la empresa. Asegúrese de que las siguientes partes interesadas estén informadas e implicadas antes de empezar:
El personal técnico responsable de la actualización y las pruebas
Los directivos y responsables de equipo que necesitan planificar en torno a cualquier interrupción del servicio
Los usuarios finales, que deben saber qué va a cambiar y cuándo
Cualquier persona ajena a la organización que pueda notar un impacto
Una actualización de gran envergadura se beneficia de una gestión de proyecto formal:
Identifique los riesgos y defina medidas de mitigación
Establezca plazos claros y asigne responsabilidades
Incluya una fase de pruebas y, si es posible, un despliegue por fases
Planifique cuidadosamente el momento del cambio (cut-over): el instante en que se retira el sistema antiguo y entra en funcionamiento el nuevo es el punto de mayor riesgo del proceso
Necesitará un segundo servidor o entorno para realizar y probar la actualización antes de pasarla a producción. Existen dos estrategias habituales:
Estrategia de migrar y luego actualizar Ponga en marcha un nuevo servidor, migre a él sus datos y archivos y, a continuación, actualice en el nuevo servidor. Cuando esté satisfecho con el resultado, dirija el tráfico hacia el nuevo servidor.
Estrategia de probar y luego actualizar Clone su servidor de producción y actualice el clon. Una vez probado, actualice directamente producción (con una ventana de mantenimiento).

La virtualización o la contenedorización suponen una ventaja importante en este punto: los snapshots le permiten volver a un estado conocido y estable en cualquier momento del proceso.
Si va a pasar a un nuevo servidor, normalmente basta con un volcado SQL completo:
# Dump
mysqldump -u <user> -p <database_name> > suitecrm_$(date +%Y%m%d).sql
# Restore on new server
mysql -u <user> -p <database_name> < suitecrm_$(date +%Y%m%d).sql
Nunca restaure una base de datos de una versión de SuiteCRM en un servidor que ejecute una versión distinta de SuiteCRM sin antes actualizar el código para que coincida. La discrepancia de esquema puede provocar problemas de integridad de datos que quizá no se hagan evidentes hasta mucho más tarde.
Para un clon exacto, copie todo el directorio de SuiteCRM.
Para una migración específica de solo datos y personalizaciones, transfiera:
uploads/: archivos, fotos y adjuntos subidos por los usuarios
custom/: sus personalizaciones
Cualquier módulo personalizado del directorio modules/
Cualquier tema personalizado del directorio themes/
config.php y config_override.php
Antes de pasar a producción, centre las pruebas en:
Todo lo que haya personalizado: Logic Hooks, diseños, flujos de trabajo, complementos
La configuración de correo electrónico y el correo entrante/saliente
Cualquier integración con sistemas externos
Todas las plataformas desde las que trabajan sus usuarios: escritorio, tableta y móvil
Si la actualización implicó pasar a un servidor con un nombre de host o una URL diferentes:
Actualice site_url y host_name en config.php
Actualice cualquier acción de flujo de trabajo que incluya URLs codificadas de forma fija
Actualice cualquier enlace de su sitio web o de sistemas externos que apunte al CRM
Revise los archivos .htaccess en busca de rutas codificadas de forma fija
Una vez que el nuevo sistema esté en funcionamiento:
Vaya a Administración › Reparación y ejecute Reconstruir Relaciones y Reconstruir Extensiones.
Supervise los logs en busca de errores nuevos durante los primeros días.
Procure mantenerse cerca de la versión actual a partir de entonces: las actualizaciones más pequeñas y frecuentes son considerablemente menos arriesgadas que los grandes saltos de versión.
Si encuentra problemas, los Foros de la Comunidad son un buen primer recurso. Si confirma que se trata de un error, notifíquelo en el repositorio de GitHub de SuiteCRM.
Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.