Nie wykryto zmian w autogeneracji migracji Alembica za pomocą Flask-SQLAlchemy

Mam problem z uzyskaniem przez Alembica automatycznego generowania migracji kandydatów ze zmian do klas za pomocądb.Model (Flask-SQLAlchemy) zamiastBase.

Zmodyfikowałemenv.py aby utworzyć aplikację Flask, zaimportuj wszystkie odpowiednie modele, zainicjuj bazę danych, a następnie uruchom migracje:

...
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()
...

To podejście działa dobrze dladrop_all(), create_all() (na przykład przy odtwarzaniu testowej db dla testów jednostkowych), ale wydaje się, że w tym przypadku jest to płaskie. Automatyczne skrypty wersji zawsze mają puste metody aktualizacji i obniżania wersji,na przykład,

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 ###

Moje zmiany obejmowały zmianę nazw kolumn, zmianę definicji kolumn,itp., nie tylko zmiany indeksów i kluczy obcych.

Czy jest ktoś, kto używa Alembica z Flask-SQLAlchemy? Jakiś pomysł, gdzie się mylę?

Dzięki wielkie!

questionAnswers(4)

yourAnswerToTheQuestion