У меня была та же самая дилемма. Если он маленький или одноразовый, вы можете взломать объект приложения Flask, не используя его по-настоящему, например:
from flask_sqlalchemy import SQLAlchemy
throw_away_app = Flask(__name__)
db = SQLAlchemy(throw_away_app)
with self.throw_away_app.app_context():
(perform your db operation)
Это работает относительно хорошо для простых вещей, таких как сценарии. Но если вы делитесь моделью между несколькими проектами и просто не можете изменить существующий проект Flask, это, к сожалению, вероятно, не очень хорошее решение.
Если это так, и вы просто не можете изменить существующую кодовую базу вообще, возможно, имеет смысл создать новый класс модели и подключиться к существующей базе данных, используя ванильный SQLAlchemy.
Кстати, для любых будущих программистов, задающихся вопросом, как получить некоторые из преимуществ Flask -SQLAlchemy без Flask, рассмотрим: sqlalchemy-mixins .