私はプロジェクトを持っていると私は私のdb.pyモジュールを定義しました:PythonのSQLAlchemyのフラスコパターン
app = get_global_flask_app()
app.config['SQLALCHEMY_DATABASE_URI'] = "postgresql://foo:[email protected]:5432/test"
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
db = SQLAlchemy(app)
db.create_all()
それから私は、DB(データベースを照会し、データを挿入する必要があるモジュールにdb.dbをインポートします。 session.query())。
しかし、これは、db.pyをインポートするモジュールをテストするためのテストコード(pytest)を書くときに、 "SQLALCHEMY_DATABASE_URI"を定義する必要があることを意味します。 1つの解決策は、上記のコードがデータベースが使用/テストされた場合にのみテストで実行されるように、dbを遅延属性にすることです。 Flask()+ SQLA + SQLALCHEMY_DATABASE_URIの共通のデザインパターンがありますか?どのようにこの問題を解決しますか?フラスコの設定?