私の会社のユーザー命名スキーマが変更されました。既存のTracインスタンスに新しい命名スキーマを適用したいと考えています。私たちはすでに新しいユーザーを追加しているので、新しいチケットと変更は新しい名前を使用します。既存のチケットと変更のユーザー名を移行して、既存のレポートと統計情報を有効なままにすることが、残されています。既存のTracユーザ名に新しい命名スキーマを適用するには?
データベースとしてsqliteを使用してtrac 0.12を使用しています。原則として、Trac database schemaを見て、ユーザー名を含むフィールドを持つすべてのテーブルを見つけ、SQL update
ステートメントを発行すれば十分です。それでも、すべてを正しくするには2〜3時間かかるので、何かをゼロから書くよりも、既存のツールを使用する方がよいでしょう。
推奨事項
(我々はまた、私たちのSubversionリポジトリ内のユーザー名を変更する必要があります。svndumptoolsvndumptool transform-revprop svn:author oldname newname repo.dump newrepo.dump
を使用してこの問題を解決するようです。)
[RenameUsersScript](http://trac-hacks.org/wiki/RenameUsersScript)がトリックを行いました。私たちの環境(Linux、sqlite)では完全に動作しますが、Windowsや他のデータベースを使用するときには別の方法が必要になるかもしれません。 BTW 'svndumptool'も広告として動作します。 Trac.dbとSubversionリポジトリの両方のユーザの名前をスムーズに管理しました。 – roskakori
お役立ち情報私はAccountManagerPluginにリネームユーザプロシージャを統合することを計画してきましたが、それまではあまり進んでいませんでしたが、少なくとも私はすでに動作しているコードを知っています。 – hasienda