Czy można policzyć liczbę zapytań SQL za pomocą Flask / SQLAlchemy / Pytest / SQLite?
Sep 03 2020
Mam projekt Flask, który używa SQLAlchemy i bazy danych. Na potrzeby testów zastępuję bazę danych bazą danych SQLite.
Teraz chciałbym uruchomić niektóre widoki i sprawdzić liczbę wykonanych zapytań. Zasadniczo chcę uniknąć przypadkowego napotkania problemu (n + 1) wyboru. Czy można uzyskać liczbę wykonanych zapytań SQL z SQLite lub wtyczki Pytest / Flask?
Odpowiedzi
AshishBhatt Sep 03 2020 at 19:50
Możesz to zrobić przez https://docs.sqlalchemy.org/en/13/core/events.html (rejestrowanie zdarzeń)
event.listen(engine, "before_cursor_execute")
Teraz możesz użyć funkcji, o której mowa w dokumentacji:
@event.listens_for(conn, 'before_cursor_execute')
def before_cursor_execute(conn, cursor, statement, parameters,
context, executemany):
log.info("Received statement: %s", statement)```