前提・実現したいこと
rails db:seedでデータ挿入を完了させたい。
発生している問題・エラーメッセージ
csvデータを初期登録データとしてIngredientモデルに挿入したい。rails db:seedでデータ挿入をしたときに、nameカラムにのみデータが入らない(他のデータは全て入る)。実行時に特にエラーは発生しなかった。
Ingredientモデル
ruby
1class Ingredient < ApplicationRecord 2end
seeds.rb
ruby
1require 'csv' 2 3CSV.foreach('db/食品成分インポート用2.csv', headers: true).each do |row| 4 ingredient = Ingredient.create!( 5 name: row['name'], 6 group: row['group'], 7 calorie: row['calorie'], 8 carbohydrate: row['carbohydrate'], 9 protein: row['protein'], 10 lipid: row['lipid'], 11 salt: row['salt'], 12 ) 13 end 14end
schema.rb
ruby
1ActiveRecord::Schema.define(version: 2019_06_09_081831) do 2 3 enable_extension "plpgsql" 4 5 create_table "ingredients", force: :cascade do |t| 6 t.string "name" 7 t.integer "group" 8 t.float "calorie" 9 t.float "carbohydrate" 10 t.float "protein" 11 t.float "lipid" 12 t.float "salt" 13 t.datetime "created_at", null: false 14 t.datetime "updated_at", null: false 15 end 16 17 create_table "users", force: :cascade do |t| 18 t.string "name" 19 t.string "email" 20 t.datetime "created_at", null: false 21 t.datetime "updated_at", null: false 22 t.string "password_digest" 23 end 24 25end
食品成分インポート用4.csv
csv
1name,group,calorie,carbohydrate,protein,lipid,salt 2えんばく・オートミール,1,380,69.1,13.7,5.7,0 3おおむぎ・七分つき押麦,1,341,72.1,10.9,2.1,0 4おおむぎ・押麦,1,340,77.8,6.2,1.3,0 5おおむぎ・米粒麦,1,343,76.2,7,2.1,0 6おおむぎ・大麦めん・乾,1,339,68,12.9,1.7,2.8 7おおむぎ・大麦めん・ゆで,1,122,24.3,4.8,0.6,0.2 8おおむぎ・麦こがし,1,391,77.1,12.5,5,0 9きび・精白粒,1,363,70.9,11.3,3.3,0 10こむぎ・国産・普通,1,337,72.2,10.6,3.1,0 11こむぎ・輸入・軟質,1,348,75.2,10.1,3.3,0 12こむぎ・輸入・硬質,1,334,69.4,13,3,0 13こむぎ・薄力粉・1等,1,367,75.8,8.3,1.5,0 14こむぎ・薄力粉・2等,1,368,74.3,9.3,1.9,0 15こむぎ・中力粉・1等,1,367,75.1,9,1.6,0 16こむぎ・中力粉・2等,1,368,74,9.7,1.8,0 17こむぎ・強力粉・1等,1,365,71.7,11.8,1.5,0 18こむぎ・強力粉・2等,1,366,70.6,12.6,1.7,0 19こむぎ・強力粉・全粒粉,1,328,68.2,12.8,2.9,0 20* 21* 22*
試したこと
- docker-compose reset
- csvデータに問題ないかを確認した
環境
- Docker version 18.09.2
- docker-compose version 1.23.2
- ruby 2.5.5
- Rails 5.2.3
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/14 21:18