俺の開発研究所

Ruby on Rails、Linux、Windowsを中心にIT技術系の備忘録とか。よく忘れるので。

*

Ruby on Railsの「rake db:seed」でCSVデータを初期登録

      2014/08/31

Ruby on Railsでデータベースに初期データを投入するときなどは、「rake db:seed」コマンドを使用する。

実行内容は「db/seeds.rb」に記載する。

今回はCSVファイルを用意して、その内容をデータベースに登録してみる。

スポンサード リンク

実際のソースはこちら。

「db/data.csv」のデータをループさせ、CSVファイルの各値をそれぞれのカラムへ設定するようにした。

これで「rake db:seed」を実行すれば、データ登録できる。

なお、CSVファイルが「SJIS(Shift-JIS)」だったりすると、以下のようなエラー「invalid byte sequence in UTF-8」になるので、データファイルのCSVファイルを「UTF-8」で保存しなおして、試してみるとよい。

「db/seeds.rb」の先頭に「# coding: utf-8」をつけても解決しなくて、この原因に気付くまで少し時間がかかった。

参考サイト

rake db:seedを使った初期データの投入 – Ruby on Rails入門

 - Ruby on Rails