Para realizar una migración de base de datos en Django necesitas seguir varios pasos. Django proporciona una serie de comandos integrados para ayudarte a gestionar la base de datos.
Primero, ve a tu terminal y navega a la carpeta del proyecto Django. Si has creado un nuevo modelo en tu archivo `models.py`, necesitarás hacer saber a Django que quieres crear una tabla para ese modelo en tu base de datos. Para hacer esto, debes ejecutar el comando `makemigrations` seguido del nombre de tu aplicación. Por ejemplo:
```
python manage.py makemigrations mi_app
```
Este comando creará nuevos archivos de migraciones que describen cómo ajustar su base de datos para que coincida con los cambios que ha realizado en sus modelos.
Después de ejecutar el comando anterior, debes decirle a Django que aplique y ejecute esas migraciones usando el comando `migrate`:
```
python manage.py migrate
```
Este comando buscará en el directorio de tu proyecto todas las migraciones que no hayan sido aplicadas y las aplicará a tu base de datos (creación de nuevas tablas, modificación de las existentes, etc.).
Puedes ver qué migraciones están pendientes y cuáles ya han sido aplicadas mediante el comando `python manage.py showmigrations`. Las migraciones marcadas con un `[X]` ya se han aplicado, mientras que las que tienen un `[]` están pendientes.
Si necesitas revertir alguna operación de la base de datos puedes usar el comando `python manage.py migrate [app_name] [migration_name]`. Al omitir el nombre de la migración, la base de datos se revertirá a la migración anterior. Si deseas revertir todas las migraciones de la aplicación, solo necesitas poner el nombre de la aplicación después del comando `migrate`.
Todos estos procedimientos están respaldados por la documentación oficial de Django bajo la sección de “Migraciones de base de datos” (https://docs.djangoproject.com/en/3.2/topics/migrations/).
Este artículo se centró en cómo gestionar las migraciones de base de datos en un entorno de desarrollo local. Cuando se trata de aplicar migraciones en un entorno de producción, es posible que necesites estrategias adicionales para evitar el tiempo de inactividad del sistema, como las migraciones de esquema sin tiempo de inactividad.
Recuerda respaldar tu base de datos regularmente y probar las migraciones en un entorno aislado antes de aplicarlas a tu entorno de producción. Con Django, gestionar las migraciones de base de datos es un proceso muy sencillo, pero siempre es mejor prevenir que curar.