Ir al contenido principal

¿Qué son las migraciones en Django y cómo se aplican?

¿Qué es una migración en Django?

Las migraciones en Django son archivos que registran y guardan cambios en la estructura de la base de datos. Cada vez que definimos o modificamos un modelo (una clase que define una tabla en la base de datos), necesitamos crear y aplicar una migración para que Django pueda actualizar la base de datos con estos cambios.

¿Por qué son importantes las migraciones?

Las migraciones son cruciales porque permiten que los cambios en la estructura de la base de datos se apliquen de forma controlada y sin afectar los datos existentes. Esto facilita la creación, modificación y mantenimiento de nuestras tablas y campos sin necesidad de manipular la base de datos manualmente.

¿Cómo se crean las migraciones?

Para crear una migración, basta con ejecutar el siguiente comando en la terminal:

python manage.py makemigrations

Este comando analiza los modelos en el proyecto y genera archivos de migración para los cambios que detecte. Si no hay cambios, simplemente no creará ninguna nueva migración.

¿Cómo se aplican las migraciones?

Una vez que se han creado las migraciones, necesitamos aplicarlas para que los cambios se reflejen en la base de datos. Esto se hace con el siguiente comando:

python manage.py migrate

El comando migrate lee los archivos de migración y aplica los cambios a la base de datos. Si es la primera vez que ejecutas este comando en tu proyecto, se creará la estructura inicial de la base de datos.

Ejemplo de migración en Django

Imaginemos que tenemos un modelo llamado Libro en nuestra aplicación que representa una tabla en la base de datos:

from django.db import models

class Libro(models.Model):
    titulo = models.CharField(max_length=100)
    autor = models.CharField(max_length=50)
    publicado_en = models.DateField()

Después de definir el modelo Libro, ejecutamos:

python manage.py makemigrations

Esto crea una migración que le indica a Django que debe crear una nueva tabla Libro en la base de datos. A continuación, aplicamos la migración con:

python manage.py migrate

Esto generará una tabla en la base de datos con los campos titulo, autor y publicado_en.

Resumen

  • Las migraciones son archivos que registran cambios en la estructura de la base de datos.
  • Se crean con makemigrations y se aplican con migrate.
  • Facilitan el manejo de cambios en la base de datos sin riesgo de perder datos.

¡Ahora ya sabes qué son y cómo utilizar las migraciones en Django! Practica estos comandos en tu proyecto y verás lo útiles que son para manejar tu base de datos.

Comentarios

Entradas populares de este blog

¿Para qué sirve el comando python manage.py collectstatic en Django?

El comando python manage.py collectstatic en Django se utiliza para recopilar y organizar todos los archivos estáticos de tu proyecto en una sola ubicación central, conocida como STATIC_ROOT . Esto es particularmente útil en producción, donde los archivos estáticos necesitan estar en un lugar accesible para el servidor web (como Apache o Nginx) en lugar de ser servidos directamente por Django. ¿Por qué es importante collectstatic ? Cuando trabajas en un proyecto Django, puedes tener archivos estáticos (CSS, JavaScript, imágenes, etc.) en múltiples ubicaciones, especialmente si usas varias aplicaciones de Django. Durante el desarrollo, Django maneja estos archivos estáticos automáticamente cuando DEBUG = True . Sin embargo, en un entorno de producción, Django recomienda no servir archivos estáticos directamente, ya que esto podría ser ineficiente y, en algunos casos, inseguro. collectstatic resuelve este problema al: Agrupar todos los archivos estáticos : Combina archivos de todas las...

Ejemplo para hacer un menú de navegación horizontal en CSS

Crear un menú de navegación horizontal es una tarea básica y esencial en el desarrollo web. Este tipo de menú es ideal para organizar enlaces de navegación en la parte superior de un sitio web, permitiendo a los usuarios acceder rápidamente a las secciones principales. En este artículo, veremos un ejemplo paso a paso de cómo crear un menú de navegación horizontal con HTML y CSS. Paso 1: Estructura HTML Primero, crearemos la estructura HTML de nuestro menú de navegación. Usaremos una lista desordenada ( <ul> ) para organizar los enlaces en fila. html <!DOCTYPE html > < html lang = "es" > < head > < meta charset = "UTF-8" > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" > < title > Ejemplo de Menú de Navegación Horizontal </ title > < link rel = "stylesheet" href = "estilos.css" > </ head > < body > ...