Jag stötte på samma SQLite/Postgres-problem med Flask och SQLAlchemy, liknande Gordon Fierce. Men min lösning var annorlunda. Postgres är strikt när det gäller bordslås och anslutningar, så att explicit stängning av sessionsanslutningen vid rivning löste problemet för mig.
Min arbetskod:
@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()
Referens:SQLAlchemy