rake db:seedでCSVファイルをインポートする時の備忘録
CSVファイルでマスタの一括インポートをしようとすると以下のようなエラーが出た
$ rake db:seed rake aborted! invalid byte sequence in UTF-8 /path/to/application/db/seeds.rb:11:in `<top (required)>' Tasks: TOP => db:seed (See full trace by running task with --trace)
文字コードのエラーが出ているらしい。
通常CSVはExcelとかでも見れるようにShift-jisとかにしているので、データを抽出する際に文字コードを変更してあげるようにする
require 'csv' CSV.foreach('db/hogehoge.csv', encoding: 'Shift_JIS:UTF-8') do |row| Model.create(key: row[0], value: row[1]) end