Инициализация и автогенерация миграции
Запускайте 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-MigrateWire 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 initInside 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 — локальная установка не требуется.
Все уроки этого курса
- Почему нужны миграции, а не create_all
- Инициализация и автогенерация миграции
- Применение и откат с помощью upgrade
- Проверка и редактирование созданных сценариев