Saya mengalami masalah SQLite/Postgres yang sama dengan Flask dan SQLAlchemy, mirip dengan Gordon Fierce. Namun, solusi saya berbeda. Postgres ketat tentang kunci tabel dan koneksi, jadi secara eksplisit menutup koneksi sesi saat teardown memecahkan masalah bagi saya.
Kode kerja saya:
@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()
Referensi:SQLAlkimia