Зачем нужна команда migrate в Django
Python
Middle
Без компании
Зачем нужна команда migrate в Django
Ответы
Команда `migrate` в Django применяет изменения в моделях (описанных в `models.py`) к базе данных. Она создаёт, изменяет или удаляет таблицы и поля в соответствии с текущим состоянием моделей.
**Как работает:**
- Сначала создаётся миграция командой `makemigrations` – Django генерирует файлы миграций в папке `migrations`.
- Затем `migrate` применяет эти миграции к БД, обновляя её структуру.
**Пример:**
```
# models.py
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=50)
```
После изменений в моделях:
```
python manage.py makemigrations # создаёт миграцию
python manage.py migrate # применяет её к БД
```
**Важно:**
- `migrate` также может откатывать изменения (если миграция позволяет).
- Без `migrate` изменения в моделях не отразятся в базе данных.