Conectar con otras bases de datos en Drupal 7

La integración es una de las necesidades que más surgen en un mundo tan globalizado como este. En muchos proyectos me toca realizar conexiones a bases de datos externas a la utilizada por Drupal, y en este artículo vamos a ver cómo hacerlo.

Conectar con la base de datos local

Cuando instalamos un Drupal 7 la configuración de conexión a la base de datos queda en el archivo /sites/default/settings.php. La conexión tiene una apariencia parecida a esta:

 

Sustituyendo los parámetros DATABASENAME, USERNAME, USERPASS y HOST por los reales podremos conectar adecuadamente a la base de datos que utiliza nuestro Drupal.

 

Conectar con otras bases de datos

Si queremos añadir otra conexión resulta bastante sencillo, ya que únicamente debemos ampliar esa variable $databases de la siguiente forma (añadiremos dos conexiones más, pero puede haber las que sean necesarias):

 

Con este sencillo cambio ya estamos capacitados para conectarnos a esas dos nuevas bases de datos. El nombre que le damos a esas bases de datos es fundamental (otrabasededatos y segundabasededatos) y puede ser cualquier cadena de texto que os sea fácil de recordar, ya que vamos a tener que echar mano de ellas.

 

¿Cómo conectamos?

Es sencillo. Utilizaremos un comando para cambiar la base de datos que utilizaremos en las siguientes líneas y cuando hayamos terminado volveremos a la base de datos que usa Drupal por defecto. Las funciones que utilizamos para consultar son las mismas independientemente de la base de datos a la que accedamos:

 

Este código podría ir perfectamente en un módulo. En él obsevamos cómo nos conectamos a otra de las bases de datos configuradas, obtenemos un conjunto de registros que metemos en una variable y después conectamos de nuevo con la base de datos por defecto (no hace falta especificar el nombre). Después comprobamos que el conjunto de registros obtenidos es mayor que cero y metemos los datos del primer registro obtenido en un array. Finalmente mostramos por pantalla la columna ‘name’ del registro obtenido.

 

Experto en la Gestión de Proyectos Web basados en Drupal con más de 8 años de experiencia. Desarrollo Full Stack (Front-end, Back-end, Site-Builder).

No Replies to "Conectar con otras bases de datos en Drupal 7"