0

これは重複している可能性がありますが、この質問をしている人は見つかりませんでし

私の理解*は、外部ソースからRailsアプリのデータベースにデータを移行する場合は、移行を使用する必要があるということです。私の予備調査から、私にできることは、FasterCSVなどのツールを使用してCSVファイル(たとえば)を移行(.rb)ファイル自体で直接解析することであるように思われます。

これは正しいアプローチですか?もしそうなら、実際そのCSVファイルをどこに置くべきか-結局のところ、移行が可逆的/反復可能であることを意味するのであれば、そのCSVデータは安定した場所に保持されるべきであるようです。

*私はまだRoRに慣れていないので、これをどうやって行うかについて完全に間違っているかどうか教えてください。

4

2 に答える 2

1

それを管理するために、 seed_fuを調べることをお勧めします。すでにデータベースにあるデータを簡単に更新できるという利点があります。CSV を単なる Ruby コードであるシード ファイルに変換できます (サンプル コードがそこに用意されています)。

于 2010-09-06T02:23:58.797 に答える
1

You can write this to a rake job without FasterCSV, though I use both.

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

This file will output where the rake file is written. In your case, you can put it in a seperate folder for CSV's. I would personally keep it out of the rest of the app structure.

于 2010-09-06T01:47:41.407 に答える