Как получить максимальный идентификатор списка заявок в среде trac? - PullRequest
1 голос
/ 24 февраля 2011

Я разрабатываю небольшой служебный скрипт для trac, который должен знать, какой максимальный идентификатор билета присутствует в каждой среде.

В настоящее время (с trac 0.11) я получаю это извлечение непосредственно из базы данных trac с помощью sqlite api, но поскольку у нас есть несколько сред с различными системами баз данных, предполагаемый небольшой служебный скрипт становится больше, делая глупые вещи. 1003 *

Есть ли в пространстве имен trac. * Что-нибудь, что позволяет мне найти максимальный идентификатор тикета в открытой среде?

То, что дает мне массив со всеми тикетами или генератор для итерации по всем из них, решит мою проблему.

Я не могу использовать пакет запросов, потому что это автоматический скрипт / скрипт командной строки.

Ответы [ 2 ]

2 голосов
/ 24 февраля 2011

Зачем вам нужно писать собственный код для подключения к БД? Существуют объекты Trac для получения соединения с базой данных, которые абстрагируются от фактического бэкэнда БД.

См. API базы данных Trac . Для 0.11 вы должны использовать Environment.get_db_cnx(), получить объект Cursor с методом .cursor() и выполнить запрос.

1 голос
/ 24 февраля 2011

Одним из возможных способов будет запрос Trac с помощью XmlRpcPlugin с запросом билета, похожим на

"order=id&desc&max=1"

Очевидно, что это не зависит от БД, но не вариант, если вы не можете /не хочу устанавливать дополнительные плагины в вашей среде Trac.

...