新たなるrakeタスク db編

吉見和也(Kazuya Yoshimi) 2008-01-11 19:50:34

rails2.0になって、いろんなrakeタスクが追加されました。

migrationとtest以外のrakeタスクは、知らなくてもあんまし困らないので後回しになりがちなんだけど、知っておくと結構便利なので、新しく追加されたrakeタスクを簡単に紹介していきたいと思います。

ちなみに実行できるrakeタスクを見るには、コンソールから rake -T でずらーっと見れます

まず今回はdb関連のから紹介します

■rake db:abort_if_pending_migrations

実行されてないmigrationがあるとき、教えてくれる。サーバー起動時に一緒に呼ばれるようにしたら便利かもね

■rake db:charset

データベースの文字コードを教えてくれる。mysql以外はsorry, your database adapter is not supported yet, feel free to submit a patchだそうです。

■rake db:collation

データベースの照合順序を教えてくれる。上と同じくmysqlのみ対応

■rake db:create

database.ymlの内容でデータベースを作ってくれる!かっこいい!

作られるDBはRAILS_ENVに依存。productionのが作りたければrake db:create RAILS_ENV=production

■rake db:create:all

database.ymlに定義してあるデータベースを全部作ってくれる。developmentもtestもproductionも!

でもlocalhostにしか作れません

■rake db:drop

■rake db:drop:all

createの逆。createの説明を削除に置き換えればOK!

■rake db:fixtures:identify

rake db:fixtures:identify LABEL=one

とかやると、fixtureファイルからoneというラベルのついたデータを探してくれる?

ちょっとまだよくわからないので、わかったら報告します

■rake db:migrate:redo

migrationを指定STEP数だけやりなおしてくれる。例えば現在のmigrationのバージョンが100で、STEPが1だったら、一旦99に戻してから100を実行してくれる。

STEPの指定はSTEP=nで。デフォルトは1

■rake db:migrate:reset

こっちは豪快にdropしてcreateしてmigrate!

■rake db:reset

DBをdropしてcreateするのは一緒だけど、その後migration実行するんじゃなくて、schema.rbから復帰させる

■rake db:rollback

migrationのバージョンをデフォルトで1戻す。STEP=nで戻すstep数を指定できます

■rake db:version

データベースから、現在のマイグレーションのバージョンをとってくる。今までは直接schema_infoテーブル見てたから便利

うーん、便利なのがいっぱい追加されてますね。感激です。押忍です。

※このエントリはZDNetブロガーにより投稿されたものです。朝日インタラクティブ および ZDNet編集部の見解・意向を示すものではありません。

SpecialPR