【发布时间】:2023-03-21 15:45:01
【问题描述】:
我想完全按照cursor.mogrify 的方式做,但要以适合生产的方式。
我正在更新一些通过连接字符串来构建查询的旧版 Python 代码。我需要更改它以安全逃生。
查询很长并且构建在与运行不同的服务器上,因此出于代码清晰度和实际可行性的原因,使用cursor.execute 转义的正常过程没有吸引力。
我会使用 mogrify,但我知道它仅用于调试目的。
我环顾四周,似乎无法找到一个好的答案。你有什么建议?
【问题讨论】:
-
为什么使用 cursor.execute 进行转义的正常过程在代码清晰度和实际可行性方面都没有吸引力?我不知道比这更好的了。
-
数据库没有暴露在它作为子进程运行的服务器之外,因此无法从构建查询的位置直接联系它。这是实际的限制。明确的原因是维护者很难阅读通过长长的元组进行插值。
-
您在哪里看到
mogrify不打算用于生产?不质疑那句话,只是好奇…… -
2013 年我问这个问题时的 psycopg 文档 ;)。
标签: python sql postgresql psycopg2 python-db-api