9

rails sqlite3 db のデータをファイルに抽出するにはどうすればよいですか?

Rails4を使用しています。

データベース内のすべてのデータを抽出して、後でデータベースをリセットするとき、または別のタイプのデータベースに切り替えるときに再ロードできるようにしたいと考えています。

4

5 に答える 5

3

.dumpjson ダンプを生成する代わりに、完全に同意します。しかし、好奇心のためだけに、すべてのモデルを json に変換するスクリプトを作成しました。

Rails.application.eager_load! # To load all models app/models/**/*.rb

all_records = ActiveRecord::Base.descendants.map &:all

all_records.to_json

しかし、多くのレコードがある実際の環境で実行するには、おそらく非常に時間がかかります.

Sqlite3 は単なるファイルであるため、別の方法 (この場合にお勧めします)db/development.sqlite3にファイルを コピーするだけですdb/development.sqlite3.backup。復元したい場合は、コピーして戻してcp -f db/development.sqlite3.backup db/development.sqlite3ください。は、挿入ステートメントと作成ステートメントを含む ASCII テキスト ファイルを生成すること.dumpに注意してください。レコードを複製しようとするため、抽出されたデータベースでそれを回復することはできません。

于 2013-06-01T21:16:45.887 に答える
0

ユーザーフレンドリーなphpmyadminエクスポートを使用して、すべてのdbをjsonに抽出していました。データベースのjsonデータを簡単にエクスポートできます。これがあなたを助けることを願っています。

phpmyadmin に移動

json のエクスポート / タイプ

于 2013-06-12T14:31:09.710 に答える