在Rails中使用导入的数据

时间:2011-08-31 00:24:46

标签: ruby-on-rails ruby-on-rails-3

我需要处理来自外部供应商零件目录的定价数据。是否最好创建一个Rails模型来表示这些数据,还是应该将其直接导入数据库并使用纯SQL?

如果模型是最佳选择,如何导入CSV文件并为每条记录保存对象?

非常感谢任何见解。

1 个答案:

答案 0 :(得分:0)

您可以使用FasterCSV(在Ruby 1.9中包含为CSV)来解析CSV文件,并为CSV文件中的每一行创建/更新每条记录。

如果您这样做,您可以选择在保存之前验证每条记录。如果您改为将其作为Mischa建议并将其导入数据库并使用Rails模型来表示它,那么您将更快地导入数据,但在将数据插入数据库之前无法执行验证。

使用Rails模型而不是纯SQL查询(你会放在哪里?)几乎肯定是个好主意。如果确实需要自定义SQL查询,请将它们作为方法(或可能的范围)写入模型。