Apakah mungkin menghitung jumlah query SQL dengan Flask / SQLAlchemy / Pytest / SQLite?
Sep 03 2020
Saya memiliki proyek Flask yang menggunakan SQLAlchemy dan database. Untuk pengujian, saya mengganti database dengan database SQLite.
Sekarang saya ingin menjalankan beberapa view dan menguji jumlah query yang dieksekusi. Pada dasarnya, saya ingin menghindari secara tidak sengaja mengalami masalah pilih (n + 1). Apakah mungkin mendapatkan jumlah Kueri SQL yang dieksekusi dari SQLite atau plugin Pytest / Flask?
Jawaban
AshishBhatt Sep 03 2020 at 19:50
Anda dapat melakukannya dengan https://docs.sqlalchemy.org/en/13/core/events.html (acara logging)
event.listen(engine, "before_cursor_execute")
Sekarang Anda dapat menggunakan fungsi seperti yang disebutkan dalam dokumentasi:
@event.listens_for(conn, 'before_cursor_execute')
def before_cursor_execute(conn, cursor, statement, parameters,
context, executemany):
log.info("Received statement: %s", statement)```
Kiat Pemilik Anjing yang Bermanfaat: Mengapa Penting untuk Membiarkan Anjing Anda Mengendus di Jalan
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'