如何在 trac 环境中获取工单列表的最大 id?
我正在为 trac 开发一个小型实用程序脚本,它需要知道每个环境中存在的最大票证 ID。
此时(使用 trac 0.11)我使用 sqlite api 直接从 trac 数据库中提取数据,但由于我们有多个具有不同数据库系统的环境,因此预期的小实用程序脚本会变得越来越大,做一些愚蠢的事情。
trac.* 命名空间中是否有任何内容可以让我找到开放环境中存在的最大票证 ID?
给我一个包含所有票证的数组或一个迭代所有票证的生成器的东西将解决我的问题。
我无法使用查询包,因为它是自动/命令行脚本。
I'm developing a small utility script for trac which needs to know which is the max ticket id present in each environment.
At this time (with trac 0.11) I'm getting this extracting directly from the trac database with sqlite api, but since we have several environments with different database systems, the intended small utility script is getting bigger doing stupid things.
Is there anything in the trac.* namespace which allows me to find the max ticket id present in an open Environment?
Something which gives me an array with all the tickets or a generator to iterate over all of them will solve my problem.
I can't use the query package because it's an automated/commandline script.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为什么需要为数据库连接编写自定义代码?有一些 Trac 对象用于获取从实际数据库后端抽象的数据库连接。
请参阅 Trac 数据库 API。对于 0.11,您应该使用
Environment.get_db_cnx()
,通过.cursor()
方法获取Cursor
对象并运行查询。Why do you need to write custom code for the DB connection? There are Trac objects for getting a database connection that abstracts from the actual DB backend.
See the Trac Database API. For 0.11, you should use
Environment.get_db_cnx()
, get aCursor
object with the.cursor()
method and run your query.一种可能的方法是通过 XmlRpcPlugin 查询 Trac,票证查询看起来像
显然它与数据库无关,但是如果您不能/不想在 Trac 环境中安装其他插件,则不是一个选项。
One of possible ways would be querying Trac via XmlRpcPlugin whith ticket query looking like
Evidently it is db-agnostic, however not an option if you can't/don't want install additional plugins in your Trac environment.