Модель приложения Django - команда Python manage.py makemigrations

Опубликовано: 12 Апреля, 2022

Согласно документации, миграции - это способ Django распространять изменения, которые вы вносите в свои модели (добавление поля, удаление модели и т. Д.), В схему вашей базы данных. Они разработаны, чтобы быть в основном автоматическими, но вам нужно знать, когда выполнять миграции, когда их запускать и с какими общими проблемами вы можете столкнуться.

makemigrations запускается с помощью следующей команды

 Python manage.py makemigrations

Если в приведенных выше командах говорится, что изменений не обнаружено, вы также можете сделать это для отдельных приложений.
Например, если у вас есть 10 приложений с именами a, b, c, d, e, f, g, h, i, j. Вы можете запускать makemigrations отдельно для этих приложений.

 Python manage.py makemigrations a
 Python manage.py makemigrations b
 Python manage.py makemigrations c

и так далее.

Миграция модели приложения Django

makemigrations в основном генерирует команды SQL для предустановленных приложений (которые можно просмотреть в установленных приложениях в settings.py) и модель ваших вновь созданных приложений, которую вы добавляете в установленные приложения. Он не выполняет эти команды в вашем файле базы данных. Таким образом, таблицы не создаются после makemigrations.

После применения makemigrations вы можете увидеть эти команды SQL с помощью sqlmigrate, который показывает все команды SQL, сгенерированные makemigrations.

For example, if we make a model class-

from django.db import models
  
class Person(models.Model):
    first_name = models.CharField(max_length = 30)
    last_name = models.CharField(max_length = 30)

Соответствующая команда sql после использования makemigrations будет

СОЗДАТЬ ТАБЛИЦУ myapp_person (
"id" серийный НЕ ПЕРВИЧНЫЙ КЛЮЧ, НЕ НУЛЬ,
"first_name" varchar (30) NOT NULL,
varchar "last_name" (30) NOT NULL
);

и с помощью приведенной выше команды таблица будет создана в базе данных при использовании миграции.

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.