2016-07-08 6 views
0

私は現在2つのプロジェクトに取り組んでいます。大きなエクセルシート/グーグルシートをインポートするレール

1つは、約130MBのサイズのExcelファイルがあり、それに含まれるレコードの量をイメージすることができます。

他は、レコード25k +のgoogleシートを使用しています。これらは時間が経つにつれて増加します。

このようなメガアップロードの場合、どのようにすればレールで進むべきですか。 この問題に対処する詳細なチュートリアルが見つかりません。誰かがそれを持っていれば、私と共有してください。

私が好むべき戦略/宝石を助けてください。

ありがとうございました。

答えて

0

あなたはCSVに変換してインポートすることに同意しましたか? チュートリアルとそのためのGemがあります。RailsCasts 396

+0

私はチュートリアルを見ましたが、それは40k +のような大きなExcelのシートで動作しますか? –

0

まず、CSVにエクスポートします。それから私はrakeタスクとしてインポートを実装したい

split data.csv 

(OS X/Linuxの)を例FOW、小さなファイルに分割。また、少しの文字列操作でseed.rbを生成することもできます。

Railsは170MBのファイルには問題がありませんが、特にデバッグしている場合は、長時間実行されるタスクが終了するのを待つのが煩わしいことがあります。

また、mysqlと直接話す場合は、もっと速く読み込むことができます。しかし、レールの利便性を失い、最低でも

Data.all.each do |datum| 
    datum.touch 
    datum.save! 
end 

を確認する必要があります。

関連する問題