Comments (5)
@emmanuelito As mentioned in my comment above, swapping the lines in the try and except blocks will remove the DeprecationWarning:
def get_engine():
try:
# this works with Flask-SQLAlchemy>=3
return current_app.extensions["migrate"].db.engine
except TypeError:
# this works with Flask-SQLAlchemy<3 and Alchemical
return current_app.extensions["migrate"].db.get_engine()
from flask-migrate.
This has already been addressed in the latest Flask-Migrate releases, but the problem is that the fix is in the env.py file that is in your migrations directory.
If you haven't made any changes to this file you can just take the updated version from here and drop it in place of the older one.
If you prefer a cleaner approach, then rename your migrations folder to some other name, then create a new migrations repository with flask db init
after installing the latest Flask-Migrate, and then finally move all the Python scripts in the older migrations/versions directory to the one you just created.
from flask-migrate.
I don't think it is worth making any changes at this point. The get_engine()
will be removed in 3.1 and the deprecation warning will not appear anymore. If this warning bothers you, feel free to edit your env.py.
from flask-migrate.
Awesome, thanks for the quick response!
Couple of minor improvements possible in env.py:
- add docstrings to get_engine() and get_engine_url()
- get_engine() has the older version in the try block and the new version in the except block, while it is the opposite in get_engine_url(). I think we can consistently use the latter order.
Thanks again.
from flask-migrate.
Thanks !
I think that the approach
def get_engine():
try:
# this works with Flask-SQLAlchemy<3 and Alchemical
return current_app.extensions["migrate"].db.get_engine()
except TypeError:
# this works with Flask-SQLAlchemy>=3
return current_app.extensions["migrate"].db.engine
does not eliminate the DeprecationWarning
.
Because currently get_engine
is ok but raise the warning.
Maybe better to check flask_sqlalchemy.__version__[0]
?
from flask-migrate.
Related Issues (20)
- Alembic upgrade head in infinite loop HOT 1
- Migrations sometimes end with status 1 HOT 4
- How to check if models are in sync with generated migrations? HOT 1
- Type hints HOT 2
- [4.0] app factory is called before click groups HOT 6
- flask db migrate taking ~30min to autogenerate and throwing unrelated warnings HOT 2
- How is this possible?
- Failure to run flask db migrate after upgrade 3.1 -> 4.0 HOT 4
- Custom Template is not included in the sdist HOT 1
- Compatibility with sqlalchemy v2 HOT 5
- Enum Field changes, but no changes in schema detected when run "flask db migrate" HOT 1
- Do not automatically import of sqlalchemy_utils HOT 1
- The pgvector vector field cannot generate a normal migration script HOT 1
- An error was reported during migration
- [Feature request] Move `process_revision_directives` to `alembic_ctx_kwargs` HOT 2
- Problems connecting to Postsgress Because of no encryption HOT 5
- No such command 'db'
- db.create_all() not working with PostgreSQL on windows platform HOT 1
- flask db doesn't make migrations
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flask-migrate.