Изменения не обнаружены в автогенерации миграций Alembic с Flask-SQLAlchemy
У меня возникли проблемы с тем, чтобы Alembic автоматически генерировал миграции кандидатов из изменений в классы, используяdb.Model
(Flask-SQLAlchemy) вместо .I 'Base
мы модифицировалиenv.py
чтобы создать мое приложение Flask, импортировать все соответствующие модели, инициализировать базу данных, а затем запустить миграцию:
...
uri = 'mysql://user:password@host/dbname?charset=utf8'
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = uri
app.config['SQLALCHEMY_ECHO'] = True
db.init_app(app)
with app.test_request_context():
target_metadata = db.Model.metadata
config.set_main_option('sqlalchemy.url', uri)
if context.is_offline_mode():
run_migrations_offline()
else:
run_migrations_online()
...
Этот подход хорошо работает для,drop_all()
create_all()
(например, при воссоздании тестовой базы данных для модульного тестирования), но в этом случае кажется, что она не работает. Автоматически сгенерированные версии скриптов всегда имеют пустые методы обновления и понижения,например.,
def upgrade():
### commands auto generated by Alembic - please adjust! ###
pass
### end Alembic commands ###
def downgrade():
### commands auto generated by Alembic - please adjust! ###
pass
### end Alembic commands ###
Мои изменения включали переименование столбцов, изменение определений столбцов,так далее., а не только изменения в индексах и внешних ключах.
Кто-нибудь использует Alembic с Flask-SQLAlchemy? Любая идея, где яя иду не так?
Большое спасибо!