二重引用符でエスケープする必要があるスキーマ名をデータベース エンジンに安全に渡したいと考えています。この場合、GRANT ステートメントを作成するときに、test を含む変数をデータベースに安全に渡したいと考えています。
GRANT SELECT ON ALL TABLES IN SCHEMA "test" TO readuser
SQLAlchemy からこれを行う方法がわかりません。
それが役立つ場合、私はpsycopg2を使用してpostgreSQLに接続しています
二重引用符でエスケープする必要があるスキーマ名をデータベース エンジンに安全に渡したいと考えています。この場合、GRANT ステートメントを作成するときに、test を含む変数をデータベースに安全に渡したいと考えています。
GRANT SELECT ON ALL TABLES IN SCHEMA "test" TO readuser
SQLAlchemy からこれを行う方法がわかりません。
それが役立つ場合、私はpsycopg2を使用してpostgreSQLに接続しています
GRANT
SQLAlchemyのようなデータベース メンテナンス クエリを発行しようとしたことはありません。ORM はこの種のクエリを発行しないと思われるため、 Session.executeを使用してテキストで発行する必要があると思います。もしそうなら、ドキュメントの例はそれを行う方法について非常に簡単です:
session.execute(
"GRANT SELECT ON ALL TABLES IN SCHEMA :param TO readuser",
{ "param": "test" }
)