プロジェクト

全般

プロフィール

気づき #864

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

Redmineの運用にて、RAILS Console利用事例の蓄積用チケット 

 Redmineのパスから下記実行してコマンド入力 
 bundle exec rails console production 


 h2. 関連情報 

 Rubyでメソッド一覧を確認するmethodsメソッドが便利 
 https://paranishian.hateblo.jp/entry/ruby/methods 

 class Object methods 
 https://docs.ruby-lang.org/ja/latest/method/Object/i/methods.html 

 コンソールを起動(rails console) 
 http://railsdoc.com/rails#%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB%E3%82%92%E8%B5%B7%E5%8B%95(rails%20console) 

 Rails環境で動かすバッチ処理(rails runner) 
 http://railsdoc.com/rails#Rails%E7%92%B0%E5%A2%83%E3%81%A7%E5%8B%95%E3%81%8B%E3%81%99%E3%83%90%E3%83%83%E3%83%81%E5%87%A6%E7%90%86(rails%20runner) 

 h2. RAILS Consoleから使用出来るメソッド一覧 

 (下記は、Usersクラスのメソッド一覧 public/protected) 

 <pre><code class="ruby"> 
 @users = User.new 
 pp @users.methods 
 </code></pre> 

 メソッド名をソートして行単位表示 
 pp @users.methods.sort 

 メソッド名で制限して表示 
 pp @users.methods.grep(/public/) 

 methodsの他に下記も利用可能 
 private_methods 
 protected_methods  
 public_methods  

 --- 

 h2. 利用事例 

 RedmineでRails console実行した設定作業の例</code></pre> 


 h3. 親子チケットの階層崩れを修正したい 

 https://redmine.tokyo/issues/725 

 bundle exec rails console production 

 irb(main):001:0> 
 <pre><code class="ruby"> 
 Issue.rebuild_tree! 
 </code></pre> 

 ワンライナー 

 RAILS_ENV=production bundle exec ruby bin/rails runner 'Issue.rebuild_tree!' 

 h3. 多数のPJ(階層/名称)に、メンバー登録+ロール設定を一括設定したい 

 https://redmine.tokyo/issues/723 

 (リンク先参照、Project(lft/rgt),Member処理含) 

 h3. プラグインの全PJ一括有効化 

 https://redmine.tokyo/issues/688 

 <pre><code class="ruby"> 
 Project.where('identifier like ?', "redmine_tokyo%").each do |project| 
   project.enable_module!('unofficial_cooking') 
 end 
 </code></pre> 

 h3. adminパスワードをコマンドで強制変更 

 https://redmine.tokyo/issues/702 

 <pre><code class="ruby"> 
 User.find_by_login('admin').update_attribute(:password, '新パスワード') 
 quit 
 </code></pre> 

 ansibleでのインストール時取込例 
 https://github.com/y503unavailable/redmine-centos-ansible/issues/3 

 h3. ダンプ 


 rb(main):003:0> pj_src.members 

 <pre> 
 => #<ActiveRecord::Associations::CollectionProxy [ 
 #<Member id: 1, user_id: 5, project_id: 1, created_on: "2019-02-02 17:44:57", mail_notification: false>,  
 #<Member id: 3, user_id: 1, project_id: 1, created_on: "2019-02-02 18:21:00", mail_notification: false> 
 ]> 

 </pre> 

 members,users,pricipals,memberships,,,同様 


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

戻る