From 510b96a9051a2728099f05d866ab8ad10bd6e369 Mon Sep 17 00:00:00 2001 From: David Lord Date: Mon, 11 Sep 2023 08:06:27 -0700 Subject: [PATCH] catch AttributeError instead of TypeError --- src/flask_migrate/templates/aioflask-multidb/env.py | 2 +- src/flask_migrate/templates/aioflask/env.py | 2 +- src/flask_migrate/templates/flask-multidb/env.py | 6 +++--- src/flask_migrate/templates/flask/env.py | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/flask_migrate/templates/aioflask-multidb/env.py b/src/flask_migrate/templates/aioflask-multidb/env.py index fa6fd3a..f14bd6c 100644 --- a/src/flask_migrate/templates/aioflask-multidb/env.py +++ b/src/flask_migrate/templates/aioflask-multidb/env.py @@ -23,7 +23,7 @@ def get_engine(bind_key=None): try: # this works with Flask-SQLAlchemy<3 and Alchemical return current_app.extensions['migrate'].db.get_engine(bind=bind_key) - except TypeError: + except (TypeError, AttributeError): # this works with Flask-SQLAlchemy>=3 return current_app.extensions['migrate'].db.engines.get(bind_key) diff --git a/src/flask_migrate/templates/aioflask/env.py b/src/flask_migrate/templates/aioflask/env.py index ecbd77f..3a1ece5 100644 --- a/src/flask_migrate/templates/aioflask/env.py +++ b/src/flask_migrate/templates/aioflask/env.py @@ -20,7 +20,7 @@ def get_engine(): try: # this works with Flask-SQLAlchemy<3 and Alchemical return current_app.extensions['migrate'].db.get_engine() - except TypeError: + except (TypeError, AttributeError): # this works with Flask-SQLAlchemy>=3 return current_app.extensions['migrate'].db.engine diff --git a/src/flask_migrate/templates/flask-multidb/env.py b/src/flask_migrate/templates/flask-multidb/env.py index ed6966f..5dbc845 100644 --- a/src/flask_migrate/templates/flask-multidb/env.py +++ b/src/flask_migrate/templates/flask-multidb/env.py @@ -20,10 +20,10 @@ def get_engine(bind_key=None): try: - # this works with Flask-SQLAlchemy<3 and Alchemical + # this works with Flask-SQLAlchemy<3.0 and Alchemical return current_app.extensions['migrate'].db.get_engine(bind=bind_key) - except TypeError: - # this works with Flask-SQLAlchemy>=3 + except (TypeError,AttributeError): + # this works with Flask-SQLAlchemy>=3.0 return current_app.extensions['migrate'].db.engines.get(bind_key) diff --git a/src/flask_migrate/templates/flask/env.py b/src/flask_migrate/templates/flask/env.py index f497a74..4c97092 100644 --- a/src/flask_migrate/templates/flask/env.py +++ b/src/flask_migrate/templates/flask/env.py @@ -19,7 +19,7 @@ def get_engine(): try: # this works with Flask-SQLAlchemy<3 and Alchemical return current_app.extensions['migrate'].db.get_engine() - except TypeError: + except (TypeError, AttributeError): # this works with Flask-SQLAlchemy>=3 return current_app.extensions['migrate'].db.engine