0

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

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

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

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

我应该为每个项目都有一个单独的数据库,还是一个足够常见的数据库?

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

为“c:\projects\trac\1project”创建和初始化项目 Initenv 失败。创建环境失败。(1050,“表'系统'已经存在”)回溯(最近一次调用最后):... OperationalError:(1050,“表'系统'已经存在”)

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

4

1 回答 1

0

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

trac.edgewall.org上的 wiki 文档中的 TracMultipleProjects 提供了有关多项目支持方法的一些信息,以及从那里链接的页面中的更多详细信息。但总而言之,这一切都或多或少还处于概念和规划阶段。

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

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

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

于 2012-07-31T19:24:53.663 回答