È possibile contare il numero di query SQL con Flask / SQLAlchemy / Pytest / SQLite?
Sep 03 2020
Ho un progetto Flask che utilizza SQLAlchemy e un database. Per il test, sostituisco il database con un database SQLite.
Ora vorrei eseguire alcune delle viste e testare il numero di query eseguite. In sostanza, voglio evitare di incappare accidentalmente nel problema di selezione (n + 1). È possibile ottenere il numero di query SQL eseguite da SQLite o da un plug-in Pytest / Flask?
Risposte
AshishBhatt Sep 03 2020 at 19:50
Puoi farlo da https://docs.sqlalchemy.org/en/13/core/events.html (registrazione eventi)
event.listen(engine, "before_cursor_execute")
Ora puoi usare la funzione come menzionato nella documentazione:
@event.listens_for(conn, 'before_cursor_execute')
def before_cursor_execute(conn, cursor, statement, parameters,
context, executemany):
log.info("Received statement: %s", statement)```