这很可能是复制品,但我找不到任何人问 相当地 这个问题。
我的理解是,如果我想将数据从外部源迁移到Rails应用程序的数据库,我应该使用迁移来完成。从我的初步研究看来,我能做的是使用一种 FasterCSV 在迁移(.rb)文件本身中解析CSV文件(例如)。
这是正确的方法吗?如果是的话,我应该去哪里 放 CSV文件——如果迁移毕竟是可逆/可重复的,那么CSV数据应该保存在一个稳定的位置。
你可以在没有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
你可能想调查一下 seed_fu 去管理它。它的优点是能够轻松地更新数据库中已有的数据。您可以将CSV转换为seed文件,它只是一个Ruby代码(这里提供了示例代码)。