使用以下命令运行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(默认),那么我不需要重新创建数据库。
我将非常感谢这些信息。谢谢大家。
答案 0 :(得分:1)
目前的概念是每个Trac环境一个db。如果这是一个项目,那么你最终会得到多个数据库,是的。
来自trac.edgewall.org的wiki文档中的TracMultipleProjects提供了有关多项目支持方法的一些信息,以及从那里链接的页面中的更多详细信息。但总而言之,所有这些或多或少仍处于概念和规划阶段。
因此,您将找到补丁和Trac插件来解决和解决此缺失的功能。目前处于最活跃开发阶段的代码是SimpleMultiProjectPlugin。
对于我自己的应用程序,我会在坚持现状的同时不断观察情况:在一个父目录中并排放置多个环境。我没有发现任何其他东西,这将允许保持接近上游(承诺无痛升级),而不限制数据库类型或其他东西的选择。
已经开发或改进了一些Trac插件以应对这种情况。仅举几例,最近的AccountManagerPlugin代码具有单点登录功能,SearchAllPlugin扩展了全文搜索,以包含可配置的周围环境列表。