0

我用列 id、task、description、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 => false。

你是怎么导入的?

4

1 回答 1

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"

希望有帮助!

于 2013-02-22T17:16:59.107 回答