mirror of
https://github.com/rommapp/romm.git
synced 2026-02-05 02:58:28 +08:00
31 lines
960 B
Python
31 lines
960 B
Python
import time
|
|
|
|
from config import DEV_SQL_ECHO
|
|
from config.config_manager import ConfigManager
|
|
from sqlalchemy import create_engine, event
|
|
from sqlalchemy.orm import sessionmaker
|
|
|
|
sync_engine = create_engine(
|
|
ConfigManager.get_db_engine(), pool_pre_ping=True, echo=DEV_SQL_ECHO
|
|
)
|
|
sync_session = sessionmaker(bind=sync_engine, expire_on_commit=False)
|
|
|
|
|
|
if DEV_SQL_ECHO:
|
|
|
|
@event.listens_for(sync_engine, "before_cursor_execute")
|
|
def before_cursor_execute(
|
|
conn, cursor, statement, parameters, context, executemany
|
|
):
|
|
context._query_start_time = time.time()
|
|
print(f"SQL: {statement}")
|
|
print(f"Parameters: {parameters}")
|
|
|
|
@event.listens_for(sync_engine, "after_cursor_execute")
|
|
def after_cursor_execute(conn, cursor, statement, parameters, context, executemany):
|
|
total_time = time.time() - context._query_start_time
|
|
print(f"Execution time: {total_time:.4f} seconds")
|
|
|
|
|
|
class DBBaseHandler: ...
|