Script para la Migración de Base de Datos de WordPress

Cuando necesitamos migrar nuestro WordPress de una URL a otra, a veces es necesario realizar cambios dentro de nuestra base de datos, para ello les facilito este script generado automáticamente donde solo se debe ingresar el prefijo de la base de datos (por defecto wp) y colocaremos nuestra antigua URL así como nuestra nueva URL.

El script generado puede ser ingresado directamente en tu phpmyadmin dentro de SQL y ejecutarlo.

phpmyadmin

O desde la consola de mysql directamente

username@[~/Desktop]: mysql -u root -p databasename
Enter password:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 892
Server version: 5.5.13 MySQL Community Server (GPL)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldurl', 'http://www.newurl') WHERE option_name = 'home' OR option_name = 'siteurl';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0

mysql> UPDATE wp_posts SET guid = replace(guid, 'http://www.oldurl','http://www.newurl');
Query OK, 0 rows affected (0.02 sec)
Rows matched: 964 Changed: 0 Warnings: 0

mysql> UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldurl', 'http://www.newurl');
Query OK, 0 rows affected (0.05 sec)
Rows matched: 964 Changed: 0 Warnings: 0

mysql> UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://www.oldurl','http://www.newurl');g
Query OK, 0 rows affected (0.01 sec)
Rows matched: 686 Changed: 0 Warnings: 0

Datos Serializados

Algunas veces podemos tener problemas causados por datos serializados, los cuales podrían encriptar URL dentro de un array de PHP, así que al cambiar de URL bases estos datos se perderán. Existen scripts más avanzados para realizar este tipo de cambios.

Si te ha sido de utilidad, compartelo: