0Pricing
Flask Academy · Урок

Проверка и редактирование созданных сценариев

Исправляйте автоматически созданные миграции перед применением.

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

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

Autogenerate Is Not Perfect

Autogenerate is a great first draft, not a final answer. Always review the script before you apply it anywhere. 🔍

Open the Versions File

Each script lives in the versions folder. Open it and read the upgrade and downgrade functions like any other code.

The op Object

Inside the functions you will see calls on the op object, like op.create_table and op.add_column, each describing one schema change.

op.add_column("user", sa.Column("age", sa.Integer()))

What Alembic Misses

Autogenerate often misses renames, seeing them as a drop plus an add. That would silently delete the column data.

Fix Renames by Hand

When a column is really being renamed, replace the drop and add with a single alter_column that preserves the data.

op.alter_column("user", "name", new_column_name="full_name")

Check the downgrade

Confirm the downgrade truly reverses the upgrade. A broken downgrade leaves you stuck if you ever need to roll back.

Watch NOT NULL Columns

Adding a non-nullable column to a table with rows will fail. Add it nullable first, fill values, then make it required.

Add Data Steps Yourself

Need to backfill values? Add an op.execute call with raw SQL between the schema steps to migrate existing data safely.

op.execute("UPDATE user SET age = 0")

Test on a Copy First

Before touching production, run the migration on a copy of real data. It surfaces failures while they are still cheap to fix.

One Change per Migration

Keep each migration focused on one logical change. Small scripts are far easier to review, test, and roll back cleanly.

Commit the Final Script

Once edited and tested, commit the script. Never change a migration that has already shipped to production history.

Quick Check

You renamed a column, but autogenerate wrote a drop and an add. What is the danger?

Recap

You learned to review generated scripts, fix renames with alter_column, handle non-null columns, and test before shipping. 🎉

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

Урок «Проверка и редактирование созданных сценариев» бесплатный?

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

Чему я научусь в уроке «Проверка и редактирование созданных сценариев»?

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

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

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

Сколько времени занимает урок «Проверка и редактирование созданных сценариев»?

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

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

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

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

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