2012-09-02 2 views
0

Я загрузил некоторые данные о семенах с использованием приведенного ниже кода, и он работал нормально. Затем мне нужно было добавить еще два столбца, и я сделал это, выполнив следующие шаги, но не привязывает два новых столбца к данным таблицы, что я делаю неправильно?Rails Seed Данные не загружаются должным образом после миграции

Шаги:

  1. Добавить две колонки с помощью миграции
  2. Сделать их attr_accessible в модели
  3. Заменить старый CSV файл с новым CSV файл
  4. Измените seed.rb файл для подключения в новые данные
  5. Run грабли БД: семена

Seed.rb

require 'csv' 

Model.delete_all 
CSV.foreach("#{Rails.root}/lib/data/model.csv") do |row| 
    Model.create!(:model_number => row[0], :areq => row[1], :length => row[2], :width => row[3], :depth => row[4], :material => row[5], :frame => row[6], :edge => row[7], :tubes => row[8], :tube_length => row[9]) 
end 

schema.rb

create_table "models", :force => true do |t| 
    t.string "model_number" 
    t.float "areq" 
    t.float "length" 
    t.float "width" 
    t.float "depth" 
    t.string "material" 
    t.string "frame" 
    t.float "edge" 
    t.datetime "created_at", :null => false 
    t.datetime "updated_at", :null => false 
    t.float "tubes" 
    t.float "tube_length" 
end 
+0

Сохраняются ли данные вообще и отсутствуют новые столбцы или отсутствует целая строка? Правильно ли указаны ваши новые атрибуты? –

+0

Да, данные сохраняются, это просто те два новых столбца, которые отсутствуют. Имеет ли это какое-либо отношение к тому факту, что столбцы «created_at» и «updated_at» относятся к этим двум новым? Я попытался изменить свои позиции, но он все равно не работает. – sacshu

+0

Нет, это нормально. Вы пытались запустить его в консоли? –

ответ

1

Брус говорят, что это может работать на 100%

Попробуйте Model.reset_column_information над файлом семян раз

это должно обновить информацию столбцов таблицы ,

require 'csv' 

Model.reset_column_information 

Model.delete_all 
#...... 

только угадай проверку, если надлежащая model.csv загружается и имеет столбцы 8 и 9 означает наличие во всех 10 столбцах.

+0

Не работает, но спасибо – sacshu

+0

вы можете добавить 'desc' для этой' models table' из 'database' не схемы, а также' Model.new.inspect' из 'rails console' – PriteshJ

+0

Не знаете, что вы , но вот код от использования проверки: «# " – sacshu

Смежные вопросы