Trabajando con Múltiples Bases de Datos en Django 2

4 minuto(s)

En esta página:

Vamos hablar sobre un tema quizás más avanzado, pero para nada difícil que lo puedas entender, trataremos en este artículo sobre el trabajo con varias Bases de Datos en Django, no te pierdas este artículo que te ayudará y aumentará tus conocimientos con este genial Framework, si no sabes que es Django te recomendamos leer nuestro artículo Que es Django, Historia y tu primer Hola Mundo , vamos con el artículo.

Para trabajar con una Base de Datos el primer paso es abrir el archivo de tu proyecto llamado settings.py y busca la linea de configuración  DATABASES en donde por defecto tiene una base de datos inicial que viene consigo cada ves que creas un nuevo proyecto con Django 2


Dentro de esa línea puedes añadir varias Bases de Datos o las que sean necesarias para el objetivo que tienes en mente, por ejemplo a continuación vamos añadir 2 bases de datos y quedarían 3 bases de datos en la configuración de DATABASES , dejaremos el tipo de Base de Datos SQL Lite que vino por defecto y añadiremos Postgress SQL y MySQL


Puedes ver que la primera base de datos que se llamaba default, le hemos cambiado el nombre a gelatinas, ya que no tiene sentido llamarlo default, si deseas puedes dejar ese dato como ‘default’:{}, y debajo continuar agregando las demás bases de datos


Nota: Para que tu proyecto soporte las base de datos que añadas en tu configuración DATABASES debes de instalar las librerías necesarias para darle soporte real a dichas Bases de Datos, por otro lado poco a poco veremos cosas más complejas con Bases de Datos en Django y te enseñaremos como usar los módulos conectores y librerías para que dichas bases de datos funcionen sin problemas en tu proyecto.

Si intentas acceder a una base de datos que no exista o no este configurada en DATABASES Django te arrojará el mensaje de excepción django.db.utils.ConnectionDoesNotExist en pantalla.

Migraciones

Si ya tienes tus Bases de Datos creadas, tienes la posibilidad de crear migraciones, con estas migraciones se insertarán las tablas determinadas para tu proyecto, pero puedes ver que tienes 3 Bases de Datos, si necesitas ejecutar migraciones debes especificar al final del comando el nombre de la base de datos que vas aplicarle la migración –database=nombredelabasededatos


Cada linea se ejecuta por separado en la consola de comandos, para tener cuidado y no cometer errores.

Enrutadores

Para manejar las migraciones mencionadas anteriormente y gestionar otros detalles debes de crear una Clase que te permita enrutar a la Base de Datos que quieres emplear, crearemos la clase llamadas GelatinasRouter


Ahora si deseas utilizar las demás bases de datos en Django puedes crear una nueva clas, le podemos llamar OtrasDbRouter


Ahora debes de ir a tu archivo settings.py y agregar las 2 clases de enrutamiento que hemos creado


El orden en que coloquemos las rutas es el orden en que se aplicarán los comandos que ejecutemos.

Habiendo enrutado las bases de datos puedes usar operaciones conocidas


Existen muchas más operaciones que puedes realizar con múltiples Bases de Datos en Django.

 

Síguenos en las Redes Sociales para que no te pierdas nuestros próximos contenidos.