0
私は、それらをデバッグしたいイベントで発生したすべてのクエリをログに記録するか、後でその上でExplainプランを実行します。例えばstmt.compileでクエリを出力するときにSQLAlchemy警告を抑止する方法?
:
from sqlalchemy import select
from sqlalchemy.dialect import oracle
queries = {}
# ...
sel = select([foo.c.id, foo.c.bar])
queries['foo query'] = sel.compile(dialect=oracle.dialect(),
compile_kwargs={'literal_binds': True})
results = conn.execute(select)
これは、常に次の警告を出力し終わる:
SAWarning: Textual column expression 'id' should be explicitly declared with text('location'), or use column('location') for more specificity (this warning may be suppressed after 10 occurrences) if guess_is_literal else "column"
は、これらの警告を抑制するための方法はありますか?特に、グローバル抑制とは対照的に、クエリを記録/印刷するこの非常に特殊なケースでは、これらを抑制したいだけです。