0Pricing
Flask Academy · Урок

Инициализация и автогенерация миграции

Запускайте flask db init и migrate.

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

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

Install Flask-Migrate

First add the package to your project. Flask-Migrate brings Alembic and a set of handy flask db commands. 📦

pip install Flask-Migrate

Wire It to the App

Create a Migrate object and bind it to your app and db. That single line activates the whole flask db command group.

from flask_migrate import Migrate
migrate = Migrate(app, db)

Initialize the Repo

Run flask db init once per project. It scaffolds a migrations folder that will hold every version script you generate.

flask db init

Inside the Folder

The new folder holds an alembic.ini, an env.py, and an empty versions directory where future migration files will live.

Autogenerate a Migration

flask db migrate compares your models to the live schema and writes a script describing exactly what changed.

flask db migrate -m "create users table"

The -m Message

Always pass a clear -m message. It labels the migration so your team can read the history like a changelog later.

A New Versions File

Each migrate command drops a fresh file in versions, named with a random revision id plus your message slug.

Models Must Be Imported

Autogenerate only sees models that are actually imported when the command runs. Missing imports mean missing tables in the script.

It Detects Differences

Alembic diffs the model metadata against the database. It catches new tables, added columns, and many changed constraints automatically.

Migrate Does Not Apply

Key point: migrate only writes the script. Your database is still untouched until you actually apply it in the next lesson.

Commit the Migration

Treat migration files as code and commit them to git. Teammates replay the exact same changes from your version history.

Quick Check

You ran flask db migrate and saw a new file appear. Did your tables change?

Recap

You wired up Migrate, ran flask db init, and autogenerated a script with flask db migrate ready to apply. 🎉

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

Урок «Инициализация и автогенерация миграции» бесплатный?

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

Чему я научусь в уроке «Инициализация и автогенерация миграции»?

Запускайте flask db init и migrate. Ты практикуешь Flask Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

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

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

Сколько времени занимает урок «Инициализация и автогенерация миграции»?

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

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

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

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

  1. Почему нужны миграции, а не create_all
  2. Инициализация и автогенерация миграции
  3. Применение и откат с помощью upgrade
  4. Проверка и редактирование созданных сценариев
← Назад к Flask Academy