プロジェクト

全般

プロフィール

QA #896

奈良 裕記 さんが約3年前に更新

h3. ■現象/要望 

 プロジェクトのメンバー定義を一括してコピーしたい。 
 (PJ自体のコピーでは無く、メンバー定義内容のみをコピー) 
 プロジェクト間のメンバー継承機能は利用しないものとする。 


 h3. ■解決策 

 RAILSコンソールにより可能 

 "src_pj" のメンバー定義内容を、"dst_pj" にコピーする場合 

 Redmineのコンソール上で 

 bundle exec rails console production 

 pj_src=Project.find_by_name("src_pj") 
 pj_dst=Project.find_by_name("dst_pj") 

 /* members と queriesをコピーする場合*/  
 pj_src.copy(pj_dst, :only => ['members', 'versions']) 

 詳細は app/models/project.rb 参照 

 Projectの下記要素に対して同様に実行可能 
 wiki,versions,categories,issues,members,queries 

 h3. ■対応状況 

 RAILS Console上の操作で可能 
 adminの作業負荷を減らしましょう。。 

 h3. ■補足 

 サブプロジェクトで継承できる機能(versions,members)の対応については確認必要と思われる。 

 pj_dst.copy_members(pj_src) でも可能だったが、 
 copy_membersのスコープが privateになっているので、そのままではclass外から呼び出せない。 
 copy_membersの前後を public と private で囲む必要がある。 
 (事前処理が必要な場合もあるので、十分確認した上で) 

 !https://unofficial-redmine.org/matomo/matomo.php?rec=896! !https://unofficial-redmine.org/matomo/matomo.php?idsite=1&rec=896!

戻る