代码之家  ›  专栏  ›  技术社区  ›  Dan Tao

我应该将用于执行数据迁移的CSV文件放在哪里?

  •  0
  • Dan Tao  · 技术社区  · 14 年前

    这很可能是复制品,但我找不到任何人问 相当地 这个问题。

    我的理解是,如果我想将数据从外部源迁移到Rails应用程序的数据库,我应该使用迁移来完成。从我的初步研究看来,我能做的是使用一种 FasterCSV 在迁移(.rb)文件本身中解析CSV文件(例如)。

    这是正确的方法吗?如果是的话,我应该去哪里 CSV文件——如果迁移毕竟是可逆/可重复的,那么CSV数据应该保存在一个稳定的位置。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Trip    14 年前

    你可以在没有FasterCSV的情况下把这个写到rake作业中,尽管我两者都用。

    Write rows to 'csvout' file.
    
    outfile = File.open('csvout', 'wb')
    CSV::Writer.generate(outfile) do |csv|
      csv << ['c1', nil, '', '"', "\r\n", 'c2']
      ...
    end
    
    outfile.close
    

        2
  •  1
  •   htanata    14 年前

    你可能想调查一下 seed_fu 去管理它。它的优点是能够轻松地更新数据库中已有的数据。您可以将CSV转换为seed文件,它只是一个Ruby代码(这里提供了示例代码)。