2011年6月1日水曜日

[Rails3] rake db:fixtures:load FIXTURES=xxxxx が失敗する件

実行環境:Rails 3.0.7

rake db:fixtures:load FIXTURES=xxxxx が失敗してしまう


個別のテーブル(categories)についてfixtureデータのロードを行おうとして
rake db:fixtures:load FIXTURES=categories
としたところ、エラーが出て catego.yml も catego.csv も見付からないと怒られてしまった。ま、確かにそんな名前のファイルは用意してないんだけど…

試しに
rake db:fixtures:load FIXTURES=menus
をやってみると、m.yml、m.csv が見つからないと言われた…
どうやら FIXTURES で指定した名前の末尾4文字を削除して、そこに .yml か .csv をくっつけてファイルを探している模様。

拡張子をちゃんとつけてやればいいってことかなと思い
rake db:fixtures:load FIXTURES=categories.yml
としたら無事動きました!

ついでに当然ながら
rake db:fixtures:load FIXTURES=categories.xxx
としても普通に動いちゃいました…


拡張子までちゃんとつけなきゃだけど、拡張子を差し替えて探すのかぁ。
機械的に4文字消しちゃうってどうなのかなぁ? 拡張子だって3文字とは限らないし。

※Rails2では拡張子なしでloadできたけど、個人的にはその動作の方がよいような気が…

ま、とにかく拡張子までつけるってことで!

0 件のコメント:

コメントを投稿