【发布时间】:2012-10-16 21:36:46
【问题描述】:
我正在通过文本文件将旧 Omnis 7 数据库中的一些数据导入 Rails。我为此目的使用文本文件,并使用 db:seed 将其移植。
在我的seeds.rb 文件中,我有:
Port.delete_all
File.open("db_ports.txt", "r") do |ports|
ports.read.each_line do |port|
id, name, un_locode, bunker_surcharge, launch_tariff = port.chomp.split("|")
Port.create!(:id => id, :name => name, :un_locode => un_locode, :bunker_surcharge => bunker_surcharge, :launch_tariff => launch_tariff)
end
end
我希望 ID 号与另一个数据库中分配的 ID 号相同,因为 Berths 有一个外键,用于查看 Ports,我需要它们相互匹配。
但是,当我上次导入我的数据时,这并没有按计划进行,并且 ID 号没有传入。我猜我可以创建空记录,然后我会使用数据进行更新,但我想知道这是否可能。
【问题讨论】:
-
这是一个受保护的属性。但是,您可以手动设置它 p = Port.new(..); p.id = id; p.保存
标签: ruby-on-rails ruby