Rails:CSV导入

时间:2013-02-22 16:31:25

标签: ruby-on-rails import

我使用列id,任务,描述,created_at,updated_at

生成了一个csv
 create_table "tasks", :force => true do |t|
t.string   "task"
t.string   "description"
t.datetime "created_at",   :null => false
t.datetime "updated_at",   :null => false

我打开了sqlite Konsole

   rails db
   .separator ','
   .C:/User/jkl/Desktop/tasks.csv

我得到错误数据类型不匹配。 我没有填写created_at和updated_at,但这是从rails到null =>假的。

如何导入?

1 个答案:

答案 0 :(得分:3)

我通常是通过ruby脚本来完成的:

require 'csv'

def import
  CSV.foreach('path/to/file.csv', :col_sep => ';', :headers => true) do |row|
    Task.create!(row.to_hash)
  end
end

这可以假设您的CSV标题与列名匹配,如下所示:

task;description
"Task 1";"Paint the fence"

希望有所帮助!