WordPress es el CMS más popular y más utilizado que existe, tanto por su versatilidad como por su comunidad de desarrolladores, que es enorme. Una de sus mayores ventajas es que, en principio, no requiere excesivos conocimientos a la hora de desarrollar un proyecto. No obstante, siempre será muy importante tener una base teórica para poder afrontar ciertas necesidades técnicas, como puede ser combinar 2 bases de datos en una sola.
Para combinar 2 bases de datos, antes hay que modificar algunas cosas
WordPress es un CMS que, como todos, utiliza para almacenar los datos bases de datos. Es decir, todo se guarda en tablas diferentes dentro de una misma base de datos alojada en el servidor web seleccionado. Lo que vamos a hacer, es fusionar y combinar 2 bases de datos diferentes de dos proyectos activos y funcionando en una sola. Por lo tanto, antes de nada hay que hacer copia de seguridad de ambas.
Cambiar el sufijo de la primera base de datos
Cuando WordPress crea las tablas a la hora de la instalación, siempre asigna los mismos nombres y el prefijo “wp_”. Este prefijo deberemos cambiarlo para que al combinar ambas no existan problemas. Otro motivo obvio es el de seguridad, ya que puede ser una entrada para los hackers maliciosos. Para ello, debemos ir al archivo wp-config del primer proyecto, que lo llamaremos Proyecto A, y editar la línea:
$table_prefix = ‘wp_’
para cambiarla por ejemplo por esta otra:
$table_prefix = ‘proyA_wp_’
De esta manera, el prefijo no es el que se genera por defecto. Posteriormente, tendremos que renombrar las tablas de nuestra base de datos mediante cPanel. Para ello, abriremos phpmyadmin seleccionando de la primera base de datos todas las tablas. Después, en el menú contextual, haremos clic en “Reemplazar prefijo de la tabla”, completándose el proceso.
Una vez hecho esto, debemos acceder a la consola de consultas SQL en la base de datos y ejecutar lo siguiente:
SELECT * FROM `proyA_wp_options` WHERE `option_name` LIKE ‘%wp_%’
Ahora, sobre el listado de resultados sustituiremos ‘wp_’ por ‘proyA_wp_’, o bien por lo que hayas elegido. Solo reemplazaremos dichos valores en la columna ‘option_name’. Una vez hecho esto, ejecutaremos en la consola lo siguiente:
SELECT * FROM `web1_wp_usermeta` WHERE `meta_key` LIKE ‘%wp_%’
Para volver a reemplazar los valores de ‘wp_’ por ‘proyA_wp_’ o el prefijo que hayas elegido. En este caso, únicamente reemplazaremos los valores de la columna ‘meta_key’. En este momento debemos chequear que la web funciona correctamente antes de continuar.
Cambiar el sufijo de la segunda base de datos
Si todo ha ido bien, continuaremos haciendo lo mismo que hemos hecho para el segundo sitio web, que lo llamaremos Proyecto B. Para ello, ahora elegiremos otro prefijo diferente, en nuestro caso sería ‘proyB_wp_’. Y es que, si fuera igual, daría error y no permitiría juntarlas.
Ahora vamos a combinar las 2 bases de datos
Una vez sustituidos los prefijos en las tablas WordPress, vamos a mover las tablas del Proyecto B a la base de datos del Proyecto A. Es tan sencillo como, en la base de datos en phpmyAdmin, seleccionar todas las tablas y darle a “Copiar Tabla”. En el menú contextual seleccionaremos en qué base de datos queremos copiar dichas tablas. Así, seleccionaremos la base de datos del Proyecto A fijándonos bien que esté marcada la opción “Estructura y datos”. Posteriormente, le daremos a continuar.
Revisaremos ahora la base de datos de nuestro Proyecto A de manera que deberían estar tanto las tablas propias, como las del Proyecto B. Una vez hecho, solo queda modificar la información de la conexión a bases de datos que hay en el archivo “wp-config” del Proyecto B. Por lógica, ahora deberán ser iguales a la información de la conexión “wp-config” del Proyecto B. Guardaremos los cambios, y comprobaremos de nuevo que los dos sitios funcionan correctamente.
Cuando veamos que todo funciona bien, ya podemos eliminar la base de datos original del Proyecto B. Y es que no tiene ninguna función, pues no está conectada. Así de sencillo es combinar 2 bases de datos en una sola. Seguro que en algún momento esta información te será útil.
Para profundizar sobre WordPress y cómo desarrollar sites bajo este potente CMS, en TrainingIT disponemos de multitud de cursos de formación presenciales y online. Nos encargamos de formar a profesionales y trabajadores de sectores donde la tecnología forma parte de su día a día.
Además, ofrecemos bonificaciones para empresas a través de FUNDAE. De esta manera, se dispondrá de un crédito formativo anual en función de su cotización. Contacta con nosotros y te asesoraremos sobre las mejores soluciones para tu caso particular.