0

次のコマンドを使用して Edgewall Trac セットアップ ウィザードを実行すると、次のようになります。

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

次のような「データベース接続文字列」を指定する必要があります。

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

プロジェクトごとに個別のデータベースを用意する必要がありますか?それとも 1 つのデータベースで十分ですか?

1 つのデータベースを使用すると、次のようになります。

'c:\projects\trac\1project' のプロジェクト Initenv の作成と初期化に失敗しました。環境の作成に失敗しました。(1050、「テーブル 'システム' は既に存在します」) トレースバック (最新の呼び出しが最後): ... OperationalError: (1050、「テーブル 'システム' は既に存在します」)

共有 MySQL データベースを削除すると、環境が正常に作成されます。ただし、sqlite (デフォルト) を使用する場合は、データベースを再作成する必要はありません。

4

1 に答える 1

0

現在のコンセプトは、Trac 環境ごとに 1 db です。これがあなたのためのプロジェクトである場合、複数のデータベースが必要になります。はい。

trac.edgewall.orgの wiki ドキュメントの TracMultipleProjects には、マルチプロジェクト サポートへのアプローチに関する情報がいくつかあり、そこからリンクされたページにさらに詳細が記載されています。しかし、要約すると、これは多かれ少なかれまだ構想段階と計画段階にあります。

したがって、この不足している機能に対処して回避するためのパッチと Trac プラグインが見つかります。現在最も活発に開発されているコードはSimpleMultiProjectPluginです。

私自身のアプリケーションでは、現状に固執しながら常に状況を観察しています。1 つの親ディレクトリに複数の環境が並んでいます。データベースタイプやその他の選択を制限することなく、アップストリームの近くにとどまることができるものは他に何も見つかりませんでした(痛みのないアップグレードを約束します)。

そのような状況に対処するために、いくつかの Trac プラグインが開発または改良されています。たとえば、最近のAccountManagerPluginコードにはシングル サインオン機能があり、SearchAllPluginは全文検索を拡張して、周囲の環境の構成可能なリストを含めます。

于 2012-07-31T19:24:53.663 に答える