rakeファイルを作ってみる

Rakeファイルを作ってみる

モトスミHack vol.33 (Rails初心者向け勉強会)

2013/3/31

川村(@blp1526)

本日の流れ

開発環境での開発から本番環境へのデプロイ

  • 本番環境へのデプロイ以降は、保守だったり改修だったり
    • バグフィックス、機能追加など

マイグレーションでカラムを追加した際などに必要なこと

  • すでにユーザーがいるので、既存のレコードが存在する
  • 場合によっては、既存レコードのカラムに対して、なんらかの更新作業が必要となる

自前rakeファイルの活用

  • 自前のrakeコマンド一発で更新処理を終えたい
  • rakeファイルは作るのが簡単

rails generateのヘルプを参照

  • rails generate --helpしてみる
    • rails g -hでOK
Usage: rails generate GENERATOR [args] [options]
  • taskがあるのを確認
  • rails3.2なら、observerとか面白そうなものも見つかるはず!
    • observerはrails4ではgemとしてinstallする必要がある

エイリアス

  • WEB+DB PRESSの特集などではrailsのエイリアスでrを設定していたりする
  • bundle execはbeとか
    • 好みに応じて適宜~/.bashrcに追加

rails g task

  • rake -Tでタスク一覧が表示される
  • とりあえずrails g task foobarしてみる
  • lib/tasks直下にfoobar.rakeファイルが作成される

desc

  • タスクの説明を書く
    • 書いた説明がrake -Tで表示される

task :task_name => :environment do

  • :task_nameのvalueとして:environmentを指定する
    • 指定することによって:developmentや:productionなど環境が読み込まれる

あとは普通にRubyのコードを書く

  • cron処理などにもrakeファイルを