使用seed-fu为关联播种数据(来自csv)

时间:2011-09-03 18:33:14

标签: ruby-on-rails-3 seed

我有一个国家和地区的大型csv文件(必须是电子表格可编辑的)。国家有很多地区。

该文件对同一个国家/地区有多行,即:

USA, New York
USA, Pennsylvania

我想使用seed-fu通过这些信息为我的数据库播种。我想我应该使用Writer获取CSV文件并生成种子文件,但我不确定如何在保留关联的同时执行此操作。有没有标准方法呢?

1 个答案:

答案 0 :(得分:1)

我最终在没有作家的情况下这样做了。我的回答是:

  • 逐行处理文件,随时创建国家和地区
  • 对于每一行,首先尝试创建国家/地区。然后使用region_name创建区域,使用country_id作为seed_fu种子方法的约束。
  • 我通过在种子上编写包装并使用memoization来避免在每个国家/地区多次调用种子的效率低下(这很好,但速度很慢)。