プロジェクト

全般

プロフィール

QA #896

奈良 裕記 さんが5年以上前に更新

h3. ■現象/要望 

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


 h3. ■解決策 

 RAILSコンソールにより可能 

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

 Redmineのコンソール上で Redmineにコンソール上で 

 bundle exec rails console production 

 

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

 

  pj_dst.copy_members(pj_src) 

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

 参照先 app/models/project.rb 

 

  pj_dst.copy_members(pj_src) 
 でも可能だが、 
 copy_membersのスコープが privateになっているので、そのままではclass外から呼び出せない。 
 copy_membersの前後を public と private で囲む必要がある。 

 h3. ■対応状況 

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

 h3. ■補足 

戻る