sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Qué hacer cuando un py.test se cuelga en silencio?

Me encontré con el mismo problema de SQLite/Postgres con Flask y SQLAlchemy, similar a Gordon Fierce. Sin embargo, mi solución fue diferente. Postgres es estricto con los bloqueos de tablas y las conexiones, por lo que cerrar explícitamente la conexión de la sesión en el desmontaje resolvió el problema para mí.

Mi código de trabajo:

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

Referencia:SQLAlchemy