¿Cuál es un mejor flujo de trabajo para migración de bases de datos?

11 dic 2014, 11:16:43
Vistas: 226
Votos: 1

Cuando me piden trabajar en un sitio WordPress existente, generalmente hago una copia completa del sitio y trabajo en él localmente. Durante varios años he usado un script como el siguiente después de importar la base de datos localmente.

-- Actualizar las URLs en la tabla wp_options
UPDATE wp_options SET option_value = replace(option_value, 'http://clientsite.co.uk', 'http://local.wordpressdev') WHERE option_name = 'home' OR option_name = 'siteurl';

-- Actualizar las URLs en los GUIDs de los posts
UPDATE wp_posts SET guid = REPLACE (guid, 'http://clientsite.co.uk', 'http://local.wordpressdev');

-- Actualizar las URLs en los meta valores de los posts
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://clientsite.co.uk', 'http://local.wordpressdev');    

-- Actualizar las URLs en el contenido de los posts
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://clientsite.co.uk', 'http://local.wordpressdev');

He visto consejos de que nunca se deben modificar los GUIDs de los posts, pero lo anterior siempre ha funcionado para mí y, que yo sepa, nunca ha causado problemas.

Mi pregunta es: ¿sigue siendo este un método válido de migración con WordPress 4? ¿También, plugins como 'Search & Replace' o herramientas como WP-CLI hacen esto mejor?

0
Todas las respuestas a la pregunta 2
0

Utilizo esto para buscar y reemplazar en bases de datos - https://interconnectit.com/products/search-and-replace-for-wordpress-databases/

Simplemente muevo los archivos con FTP, exporto e importo la base de datos y luego ejecuto el script buscando la URL antigua y reemplazándola con la nueva URL. Luego vuelvo a guardar los enlaces permanentes y listo. He movido WordPress miles de veces usando esto.

Tengo el script antiguo que es solo un archivo único, no me gusta tanto la nueva versión, es un poco más lenta y tiene más protecciones contra errores, lo cual en realidad no me agrada.

11 dic 2014 11:32:34
0

wp-cli tiene esta función incorporada. Si tienes wp-cli instalado, desde la línea de comandos puedes ejecutar:

wp search-replace 'http://oldurl.com' 'http://newurl.localhost'

o cualquier URL que uses en tu entorno local y esto actualizará la base de datos del sitio local, teniendo en cuenta los arrays serializados (lo cual el OP no hace).

Puedes crear alias en tu .bash_profile para ejecutar una serie de comandos de wp-cli que creen una base de datos, reinicien una base de datos, importen una base de datos, hagan búsqueda-reemplazo en una base de datos, etc. Al final podrías tener un alias que ejecutes en la línea de comandos y que haga todo el trabajo de importar una nueva base de datos a un sitio por ti.

10 feb 2016 11:48:41