Tôi đã gặp phải cùng một vấn đề SQLite / Postgres với Flask và SQLAlchemy, tương tự như Gordon Fierce. Tuy nhiên, giải pháp của tôi đã khác. Postgres nghiêm ngặt về khóa bảng và kết nối, vì vậy việc đóng kết nối phiên một cách rõ ràng khi xé nhỏ đã giải quyết được vấn đề cho tôi.
Mã làm việc của tôi:
@pytest.yield_fixture(scope='function')
def db(app):
# app is an instance of a flask app, _db a SQLAlchemy DB
_db.app = app
with app.app_context():
_db.create_all()
yield _db
# Explicitly close DB connection
_db.session.close()
_db.drop_all()
Tham khảo: SQLAlchemy