Ruby on rails 3 db:一条记录的种子错误

Ruby on rails 3 db:一条记录的种子错误,ruby-on-rails-3,Ruby On Rails 3,我正在使用rake db:seed导入一些数据 Territory.delete_all open("db/territories.txt") do |territories| territories.read.each_line do |territory| id, name, sales_rep_id, handed_out = territory.chomp.split("\t") Territory.create!(:id => id, :name =>

我正在使用rake db:seed导入一些数据

Territory.delete_all
open("db/territories.txt") do |territories|
  territories.read.each_line do |territory|
    id, name, sales_rep_id, handed_out  = territory.chomp.split("\t")
    Territory.create!(:id => id, :name => name, :sales_rep_id => sales_red_id, :handed_out => handed_out)
  end
end
这是我的数据

我的数据

9 Territory 1   2009-08-01  6   2010-07-01
10 Territory 1  2009-08-01  6   2010-07-01
11 Territory 3  2009-09-01  5
一切正常,但第一张唱片。导入后,它的ID为0,而不是9。从secord记录开始,ID是正确的10、11、12等

为什么?

谢谢
托马斯什么数据库?你不能强迫别人接受你在那里做的事情。我的猜测是,代码会尝试,这会将序列推进到该点,以便剩余的记录恰好匹配。如果更改txt文件的顺序,它是否仍然有效

无论如何。。。你可以这样做。。。替换创建!与此一致:

territory = Territory.new do |t|
  t.id = id
  t.name = name
  t.sales_rep_id = sales_rep_id
  t.handed_out = handed_out
end
t.save!

我正在使用SQLite3。我试图用您的代码替换我的代码,它显示:未定义的局部变量或main:Object的方法't'。不知道为什么。。。