我需要处理来自外部供应商零件目录的定价数据。是否最好创建一个Rails模型来表示这些数据,还是应该将其直接导入数据库并使用纯SQL?
如果模型是最佳选择,如何导入CSV文件并为每条记录保存对象?
非常感谢任何见解。
答案 0 :(得分:0)
您可以使用FasterCSV(在Ruby 1.9中包含为CSV)来解析CSV文件,并为CSV文件中的每一行创建/更新每条记录。
如果您这样做,您可以选择在保存之前验证每条记录。如果您改为将其作为Mischa建议并将其导入数据库并使用Rails模型来表示它,那么您将更快地导入数据,但在将数据插入数据库之前无法执行验证。
使用Rails模型而不是纯SQL查询(你会放在哪里?)几乎肯定是个好主意。如果确实需要自定义SQL查询,请将它们作为方法(或可能的范围)写入模型。