2017-03-10 9 views
0

私のRails 5 APIアプリケーションでは、160万レコードがPostgresに取り込まれて発見されます。私は45個の.jsonファイルを持っています。各ファイルには、jsonオブジェクトの配列が含まれています。各ファイルには2kから30kのオブジェクトがあります。ファイルサイズは6MB〜188MBです。私はseed.dbファイルを使用してその方法でファイルを読み込もうとしましたが、メモリ使用率が高すぎました。その後、ファイルをストリームとして扱うためにyajl gemを使用しましたが、大きなファイルでは、各オブジェクトを書き込むプロセスが1時間かかるため、しばらくしてからネットワークエラーが発生します。.jsonファイルデータをPostgres for Rails 5 APIにロード

Rails自体の中でseed.dbや他のメカニズムを使って大きなファイルを扱うのにメモリ的により効率的な方法がありますか?

オブジェクトの配列を持つjsonファイルの取り込みをPostgresに処理するためのツールはありますか?私はpgfutterを見ますが、私のMacでそのツールを初期化することはできません。

+0

はい、seeds.rb、または移行、またはいくつかの異なる方法を使用できます。あなたのjsonデータファイルの構造と、それらがあなたのアプリのモデルにどのように関係しているかについてもっと詳しく説明できますか? –

答えて

0

これを解決するには、Sqlizeを使用してjsonファイルをSQLクエリに変換します。そこから簡単に。

関連する問題