Создание схемы с помощью create_all
Создавайте таблицы из определений моделей.
«Создание схемы с помощью 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 shellIt 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 — локальная установка не требуется.
Все уроки этого курса
- Установка и настройка расширения
- Определение первого класса модели
- Столбцы, типы и ограничения
- Создание схемы с помощью create_all