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

Команда flask db upgrade

Команда flask db upgrade применяется к проекту Flask с настроенным расширением Flask-Migrate. Она применяет все неприменённые миграции к базе данных, обновляя её схему до указанной ревизии. Без параметров команда обновляет базу до последней доступной ревизии. Первым необязательным параметром можно передать идентификатор ревизии, до которой нужно обновить базу. Также поддерживается флаг --sql для вывода SQL-запросов без их выполнения.

Синтаксис

flask db upgrade [revision] [options]

Пример

Давайте настроим 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

Создаём первую миграцию:

flask db migrate -m "create user table"

Применяем миграцию к базе данных:

flask db upgrade

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

INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running upgrade -> a1b2c3d4e5f6, create user table

Пример

Давайте обновим базу данных до конкретной ревизии по её идентификатору:

flask db upgrade a1b2c3d4e5f6

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

INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running upgrade -> a1b2c3d4e5f6, create user table

Пример

Давайте посмотрим SQL-запросы, которые будут выполнены при обновлении, без их применения:

flask db upgrade --sql

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

-- Running upgrade -> a1b2c3d4e5f6 CREATE TABLE user ( id INTEGER NOT NULL, name VARCHAR(50), PRIMARY KEY (id) ); INSERT INTO alembic_version (version_num) VALUES ('a1b2c3d4e5f6');

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

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