気づき #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=864! !https://unofficial-redmine.org/matomo/matomo.php?idsite=1&rec=1!
戻る