PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Cosa fare quando un py.test si blocca in silenzio?

Mi sono imbattuto nello stesso problema SQLite/Postgres con Flask e SQLAlchemy, simile a Gordon Fierce. Tuttavia, la mia soluzione era diversa. Postgres è severo riguardo ai blocchi e alle connessioni delle tabelle, quindi la chiusura esplicita della connessione della sessione durante lo smontaggio ha risolto il problema per me.

Il mio codice di lavoro:

@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()

Riferimento:SQLAlchemy