arrow_back Volver
Inicio keyboard_arrow_right Artículos keyboard_arrow_right Artículo

Conectar Django con MySQL y PostgreSQL

Eduardo Ismael Garcia

Full Stack Developer at Código Facilito.

av_timer 2 Min. de lectura

remove_red_eye 22224 visitas

calendar_today 25 Octubre 2019

En esta ocasión aprenderemos a conectar los gestores de base de datos: MySQL y PostgreSQL con nuestra aplicación Django. Es bastante sencillo, veamos. 👻

MySQL

Comencemos con el gestor de MySQL.

Lo primero que haremos será instalar la biblioteca mysqlclient.

pip install mysqlclient

Ahora procedemos a crear nuestra base de datos.

mysql -u root -p
CREATE DATABASE hackathon;
USE hackathon;

Una vez con la base de datos creada, procedemos a modificar nuestro archivo settings.py. Indicamos que haremos uso del gestor MySQL sobre sqlite.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'hackathon',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '',
    }
}

En mi caso mi base de datos tiene por nombre hackathon, el user de mi base de datos es root y no posee una contraseña.

Ejecutamos las migraciones.

python manage migrate

En nuestro servidor de MySQL listamos todas las tablas.

mysql> show tables;
+----------------------------+
| Tables_in_hackathon        |
+----------------------------+
| auth_group                 |
| auth_group_permissions     |
| auth_permission            |
| auth_user                  |
| auth_user_groups           |
| auth_user_user_permissions |
| django_admin_log           |
| django_content_type        |
| django_migrations          |
| django_session             |
+----------------------------+

Perfecto, ahora estaremos haciendo uso de MySQL en nuestro proyecto.

PostgreSQL

Ahora continuamos con PostgreSQL.

Lo primero que debemos hacer será instalar la biblioteca psycopg2.

pip install psycopg2-binary

Una vez la biblioteca haya sido instalada procedemos a crear nuestra base de datos en PostgreSQL.

Ejecutamos los siguientes comandos en la terminal.

psql postgres
CREATE DATABASE hackathon;
\connect hackathon;

Listo, ya tenemos nuestra base de datos. El siguiente paso será configurar nuestra aplicación. Para ello modificamos el archivo settings.py.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'hackathon',
        'USER': 'eduardo',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '',
    }
}

En mi caso mi base de datos tiene por nombre hackathon, el user de mi base de datos es eduardo y no posee una contraseña.

Perfecto, una vez con la configuración hecha ya seremos capaces de utilizar nuestra base de datos con PostgreSQL.

python manage.py migrate

En nuestro servidor de PostgreSQL ejecutamos dt y deberíamos visualizar todas nuestras tablas.

hackathon=# \dt

 public | auth_group                 | table | eduardo
 public | auth_group_permissions     | table | eduardo
 public | auth_permission            | table | eduardo
 public | auth_user                  | table | eduardo
 public | auth_user_groups           | table | eduardo
 public | auth_user_user_permissions | table | eduardo
 public | django_admin_log           | table | eduardo
 public | django_content_type        | table | eduardo
 public | django_migrations          | table | eduardo
 public | django_session             | table | eduardo

Aumenta tu productividad con GitHub Copilot

  • done Curso GRATUITO
  • done Regístrate antes del 31 de Marzo
  • done Obtén una ventaja competitiva
  • done Aprovecha la IA a tu favor
Más información