rails sqlite3 db のデータをファイルに抽出するにはどうすればよいですか?
Rails4を使用しています。
データベース内のすべてのデータを抽出して、後でデータベースをリセットするとき、または別のタイプのデータベースに切り替えるときに再ロードできるようにしたいと考えています。
rails sqlite3 db のデータをファイルに抽出するにはどうすればよいですか?
Rails4を使用しています。
データベース内のすべてのデータを抽出して、後でデータベースをリセットするとき、または別のタイプのデータベースに切り替えるときに再ロードできるようにしたいと考えています。
.dump
json ダンプを生成する代わりに、完全に同意します。しかし、好奇心のためだけに、すべてのモデルを 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
に注意してください。レコードを複製しようとするため、抽出されたデータベースでそれを回復することはできません。
ユーザーフレンドリーなphpmyadminエクスポートを使用して、すべてのdbをjsonに抽出していました。データベースのjsonデータを簡単にエクスポートできます。これがあなたを助けることを願っています。
phpmyadmin に移動
json のエクスポート / タイプ