0

这很可能是重复的,但我找不到任何人问这个问题。

我的理解*是,如果我想将数据从外部源迁移到我的 Rails 应用程序的数据库,我应该使用迁移来做到这一点。从我的初步研究看来,我可以做的是使用像FasterCSV这样的工具来解析迁移 (.rb) 文件本身中的 CSV 文件(例如)。

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

*让我知道我是否完全错误地知道如何去做,因为我还是 RoR 的新手。

4

2 回答 2

1

您可以在没有 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

该文件将输出 rake 文件的写入位置。在您的情况下,您可以将其放在单独的 CSV 文件夹中。我个人会将其排除在应用程序结构的其余部分之外。

于 2010-09-06T01:47:41.407 回答
1

您可能需要查看seed_fu来管理它。它的好处是能够轻松更新数据库中已有的数据。您可以将 CSV 转换为种子文件,这只是一个 Ruby 代码(此处提供了示例代码)。

于 2010-09-06T02:23:58.797 回答