カメニッキ

カメとインコと釣りの人です

railsの機能を使えるスクリプトを実行する方法

Railsで普段しようしているHoge.find(id)みたいな要領で、コネクションとかあまり意識することなくデータベースを使用出来たら便利ですよね。
それに後悔しているWebアプリと連携したバッチ処理などを作成する際もやりやすいです。

やり方は簡単で、railsプロジェクトのscriptフォルダ以下に普段通りhoge.rbとファイルを作成します。

あとは好きにコントローラへ書く時と同じ用に処理書いていくだけ。

ActiveRecord好きに使えます。
共有定数や関数も。

実行時は

rails runner script/hoge.rb

となります。

注意が必要なのが、デフォルトだとdevelopment環境として動作するので-eオプションを使い

rails runner script/hoge.rb -e production

とすることでproduction環境で動作させることが可能です。
またクーロンで定期実行したい場合は以下のようにcronへ登録します。