РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
614 of 643 menu

Команда db init

Команда flask db init применяется в проекте Flask с подключённым расширением Flask-Migrate. Она создаёт служебную папку migrations, в которой будут храниться файлы миграций и конфигурация Alembic. Команду достаточно выполнить один раз при первом подключении миграций к проекту. После этого можно создавать новые миграции командой flask db migrate и применять их командой flask db upgrade.

Синтаксис

flask db init

Пример

Пусть у нас есть приложение Flask с подключённым расширением Flask-Migrate:

from flask import Flask from flask_sqlalchemy import SQLAlchemy from flask_migrate import Migrate app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db' db = SQLAlchemy(app) migrate = Migrate(app, db) class User(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50))

Теперь выполним команду инициализации миграций в терминале:

flask db init

Результат выполнения команды:

Creating directory /home/user/project/migrations ... done Creating directory /home/user/project/migrations/versions ... done Generating /home/user/project/migrations/alembic.ini ... done Generating /home/user/project/migrations/README ... done Generating /home/user/project/migrations/env.py ... done Generating /home/user/project/migrations/script.py.mako ... done

После выполнения команды в корне проекта появится папка migrations со следующей структурой:

migrations/ ├── alembic.ini ├── env.py ├── README ├── script.py.mako └── versions/

Пример

Если команда flask db init уже выполнялась ранее, повторный запуск приведёт к ошибке:

flask db init

Результат выполнения команды:

Error: Directory migrations already exists and is not empty

В этом случае папку migrations нужно удалить, если вы хотите начать работу с миграциями заново.

Смотрите также

  • команда db migrate,
    которая создаёт новую миграцию на основе моделей
  • команда db upgrade,
    которая применяет миграции к базе данных
  • команда db revision,
    которая создаёт пустую миграцию вручную
  • команда db current,
    которая показывает текущую версию миграций
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить