Flask Academy · Урок

Создание схемы с помощью create_all

Создавайте таблицы из определений моделей.

Урок 4 из 413 шагов

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

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

From Models to Tables

Your models describe tables, but the database file is still empty. You need one step to turn declarations into real tables. 🏗️

Meet create_all

db.create_all() scans every model it knows and issues the CREATE TABLE statements for you. One call builds the whole schema.

db.create_all()

It Needs App Context

create_all must run inside an application context so it can find your config and the right database connection.

with app.app_context():
    db.create_all()

Import Models First

create_all only builds tables for models that are imported. If a model file is never loaded, its table silently goes missing.

Run It From a Shell

A clean way to set up the database is the flask shell, where the app context is already active and ready.

flask shell

It Is Safe to Re-run

create_all skips tables that already exist, so calling it twice will not crash. It simply creates whatever is missing.

It Will Not Alter Tables

Here is the catch: create_all never changes an existing table. Add a new column and the old table stays exactly as it was.

Wipe Everything with drop_all

Need a fresh start in development? db.drop_all() deletes every table and its data, so handle it with real care.

db.drop_all()

Reset Pattern in Dev

A common dev reset is drop then create. It rebuilds clean tables, but it also erases all data, so never do this in production.

db.drop_all()
db.create_all()

Verify the File Appeared

With SQLite, a database file like app.db shows up after create_all. Seeing it confirms your tables were actually built.

Next Step: Migrations

Because create_all cannot evolve a schema, real projects switch to migrations as soon as the model starts changing over time.

Quick Check

You added a new column to an existing model. What does create_all do?

Recap

You built tables with db.create_all() inside an app context, learned it never alters existing tables, and met drop_all. 🎉

Можно начать бесплатно

Изучай Python с ИИ-репетитором — бесплатно

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

Курсы
30
Уроки
120

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

Урок «Создание схемы с помощью create_all» бесплатный?

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

Чему я научусь в уроке «Создание схемы с помощью create_all»?

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

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

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

Сколько времени занимает урок «Создание схемы с помощью create_all»?

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

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

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

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

  1. Установка и настройка расширения
  2. Определение первого класса модели
  3. Столбцы, типы и ограничения
  4. Создание схемы с помощью create_all
← Назад к Flask Academy