Comparte en Facebook Twitter Google+

mutiples-bases-de-datos-laravel-5

Algunos proyectos de desarrollo pueden requerir el uso de una o varias bases de datos en las cuales almacenar de forma independiente toda la información del sistema, inclusive puede ser requerido el uso de múltiples motores de bases de datos en algunos casos.

Sin duda puede resultar una tarea tediosa el manejo de estas conexiones, la configuración de los modelos para cada motor de base de datos, entre otros.

Afortunadamente, Laravel pone a nuestra disposición un conjunto de herramientas destinadas a hacernos la vida más fácil como programadores y en este caso en particular, les enseñarle a manejar múltiples conexiones a bases de datos independientes usando Eloquent, el ORM de Laravel.

Estableciendo conexiones

Lo primero que debemos hacer es definir las credenciales correspondientes a cada conexión de base de datos que deseamos utilizar, para ello accedemos al archivo de configuración de nuestra aplicación config\database.php: 

En este caso estamos creando dos conexiones, una llamada mysql y otra llamada comments.

Cuando no se especifique la conexión a utilizar el sistema tomará el valor por defecto, en este caso ‘mysql’.

Recuerden que si trabajamos haciendo uso de las buenas prácticas, los valores de las variables estarán definidas dentro del archivo .env de nuestra aplicación.

Creando migraciones con múltiples bases de datos

Podemos crear migraciones indicando la conexión con la que se desea trabajar y Laravel hará el resto por nosotros.

Definiendo modelos con diferentes bases de datos

Especificar la conexión a utilizar para cada consulta SQL (query)  a la larga resultará en mucho más código del que desearíamos tener, la solución recomendada es especificarlo en cada modelo que creemos, de la siguiente forma:

En nuestro modelo User se puede escribir :

Con esto ya tendríamos todo listo para empezar a gestionar múltiples conexiones en nuestro proyecto de Laravel 5.

Si quieres aprender más sobre bases de datos y migraciones no olvides ver el curso de Laravel 5 y seguir al día con las publicaciones diarias.

Tutoriales relacionados:

Regístrate hoy en Styde y continua mejorando tus habilidades: ver planes.

Lección anterior Agregar rutas adicionales a un controlador de tipo resource en Laravel Lección siguiente Cómo subir archivos con Laravel 5