Flask / SQLAlchemy / Pytest / SQLite ile SQL sorgularının sayısını saymak mümkün müdür?
Sep 03 2020
SQLAlchemy ve veritabanı kullanan bir Flask projem var. Test için veritabanını bir SQLite veritabanı ile değiştiriyorum.
Şimdi bazı görünümleri çalıştırmak ve yürütülen sorguların sayısını test etmek istiyorum. Esasen, yanlışlıkla (n + 1) seçme problemiyle karşılaşmaktan kaçınmak istiyorum. Yürütülen SQL Sorgularının sayısını SQLite'den veya bir Pytest / Flask eklentisinden almak mümkün müdür?
Yanıtlar
AshishBhatt Sep 03 2020 at 19:50
Bunu şu şekilde yapabilirsiniz https://docs.sqlalchemy.org/en/13/core/events.html (olayları günlüğe kaydetme)
event.listen(engine, "before_cursor_execute")
Şimdi, dokümantasyonda belirtildiği gibi işlevi kullanabilirsiniz:
@event.listens_for(conn, 'before_cursor_execute')
def before_cursor_execute(conn, cursor, statement, parameters,
context, executemany):
log.info("Received statement: %s", statement)```
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'