0Pricing
Django Academy · Урок

makemigrations и migrate

Как Django планирует и применяет изменения схемы

«makemigrations и migrate» — бесплатный урок Django Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Django Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Django Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Two Steps, Not One

Django changes your database in two steps: first it writes a plan, then it runs that plan. Knowing which is which saves a lot of confusion. 🧭

makemigrations Plans

makemigrations looks at your models, spots what changed, and writes a migration file describing the change. It does not touch the database yet.

python manage.py makemigrations

migrate Applies

migrate takes those migration files and actually runs them against the database, creating or altering real tables.

python manage.py migrate

Why Split Them

Splitting plan from action lets you review a change, commit it to git, and apply the exact same steps on every machine and server.

Migrations Are Files

Each plan lives as a file in your app under migrations/. You commit these files so teammates apply identical changes.

A Typical Cycle

Edit a model, run makemigrations to record it, then run migrate to apply it. That loop is your everyday schema workflow.

Naming Migrations

Add a clear label so files read like a history, not a pile of numbers. Use the --name flag to describe what changed.

python manage.py makemigrations --name add_published_field

Targeting One App

Pass an app label to generate or apply migrations for just that app, keeping unrelated changes out of the way.

python manage.py makemigrations blog

Check Without Changing

Run makemigrations with --check in CI to fail the build if a model change has no matching migration yet.

python manage.py makemigrations --check --dry-run

See What Is Applied

The showmigrations command lists every migration and marks the applied ones with an X, so you know your exact state.

python manage.py showmigrations

Order Matters

Always makemigrations first, then migrate. Running migrate alone applies whatever plans already exist, including Django built-ins.

Quick Check

Which command actually changes the database tables?

Recap

You learned the rhythm: makemigrations writes the plan, migrate applies it. Plan first, apply second, and your schema stays in sync everywhere. 🎉

Часто задаваемые вопросы

Урок «makemigrations и migrate» бесплатный?

Да — полный текст урока «makemigrations и migrate» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Django Academy, подпишись на CoddyKit PRO. Курс Django Academy содержит 4 уроков всего.

Чему я научусь в уроке «makemigrations и migrate»?

Как Django планирует и применяет изменения схемы Ты практикуешь Django Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Django Academy?

Предыдущий опыт не требуется. Django Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «makemigrations и migrate»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Django Academy?

Да. Каждый урок Django Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. makemigrations и migrate
  2. Чтение файла миграции
  3. Изменение модели и повторная миграция
  4. sqlmigrate и изучение SQL
← Назад к Django Academy