具有新数据库的新Trac环境

时间:2012-07-31 13:45:58

标签: trac

使用以下命令运行Edgewall Trac设置向导时:

trac-admin c:\projects\trac\0project initenv

我应该指定“数据库连接字符串”,例如:

mysql://user:pasword@host:port/db

我是否应该为每个项目设置一个单独的数据库,或者是否足够常见?

如果我使用一个数据库,我会得到以下内容:

  

为。创建和初始化项目Initenv   'c:\ projects \ trac \ 1project'失败了。无法创建环境。   (1050,“表'系统'已经存在”)Traceback(最近的电话   last):... OperationalError:(1050,“表'系统'已存在”)

如果删除共享的MySQL数据库,则会成功创建环境。但是,如果我使用sqlite(默认),那么我不需要重新创建数据库。

我将非常感谢这些信息。谢谢大家。

1 个答案:

答案 0 :(得分:1)

目前的概念是每个Trac环境一个db。如果这是一个项目,那么你最终会得到多个数据库,是的。

来自trac.edgewall.org的wiki文档中的

TracMultipleProjects提供了有关多项目支持方法的一些信息,以及从那里链接的页面中的更多详细信息。但总而言之,所有这些或多或少仍处于概念和规划阶段。

因此,您将找到补丁和Trac插件来解决和解决此缺失的功能。目前处于最活跃开发阶段的代码是SimpleMultiProjectPlugin

对于我自己的应用程序,我会在坚持现状的同时不断观察情况:在一个父目录中并排放置多个环境。我没有发现任何其他东西,这将允许保持接近上游(承诺无痛升级),而不限制数据库类型或其他东西的选择。

已经开发或改进了一些Trac插件以应对这种情况。仅举几例,最近的AccountManagerPlugin代码具有单点登录功能,SearchAllPlugin扩展了全文搜索,以包含可配置的周围环境列表。