Hago el mismo tipo de despliegue dev-prod de forma regular, por lo que desarrollé algunas consultas estándar para él:
-
Actualizar la url del sitio:
ACTUALIZAR wp_options SET option_value = replace (option_value, '[DEV_URL]', '[PROD_URL]') WHERE option_name = 'home' OR option_name = 'siteurl' OR option_name = 'fileupload_url';
-
Actualizar la ruta de subida:
ACTUALIZAR wp_options SET option_value = '[SITE_ROOT_PATH] / wp-content / uploads' WHERE option_name = 'upload_path';
-
Actualizar las guías de mensajes:
ACTUALIZAR wp_posts SET guid = replace (guid, '[DEV_URL]', '[PROD_URL]');
-
Actualizar urls en publicaciones:
ACTUALIZAR wp_posts SET post_content = replace (post_content, '[DEV_URL]', '[PROD_URL]');
Reemplace las variables entre corchetes con valores reales, por ejemplo.
[DEV_URL] - > enlace
[PROD_URL] - > enlace
[SITE_ROOT_PATH] - > /home/client/domains/example-online-server.com/html
Que normalmente se ocupa de cualquier referencia al entorno dev. Debe tener en cuenta, sin embargo, que:
i) Muchos complementos también almacenan direcciones URL absolutas en wp_options o tablas personalizadas. Estos tienes que investigar caso por caso.
ii) La ejecución de una consulta de reemplazo de actualización (como 1. y 2. más arriba) seguramente corromperá los datos en los campos serializados. No he encontrado una técnica limpia y rápida de hacer este reemplazo, aparte de dejar que los complementos asociados realicen la actualización ellos mismos. El éxito de esto depende de la robustez del complemento.