これは常識のように見えるので、これはばかげた質問のように感じます。 。 。しかし、私がまとめることができるグーグル検索は私に答えを与えることができないようです!
.dumpコマンドを使用してsqlite3データベースからデータを取得する方法を知っています。しかし、今ではexport_sqlite3.sqlというタイトルのこのASCIIファイルがあります。 。 。必要なデータベースに戻すことができないようです。
私の目標は、あるRailsアプリにあったデータを別のアプリに転送することでした。そのため、ダミーデータを作成するためにあらゆる時間を費やす必要はありませんでした。 。 。最初のアプリからデータをダンプし、すべてのCREATE TABLEステートメントを削除し、2番目のアプリのスキーマが一致することを確認しました。 。 。今私はそこにそれを取得する必要があります。
誰か助けてくれませんか?そして、あなたが道を見つけるとき、あなたがグーグルに差し込んだものを教えてもらえますか?.
cat dumpfile.sql | sqlite3 my_database.sqlite
オペレーティングシステムを指定しておらず、
sqlite3 my_database.sqlite < export.sqlite3.sql
uNIXフレーバーでは機能しますが、Windowsでは機能しません。
.dumpコマンドの逆は.readコマンドです。構文は次のようになります
sqlite3> .read export.sqlite3.sql
これも動作するはずです:
echo '.read export.sqlite3.sql' | sqlite3 my_database.sqlite3
「sqlite3 my_database.sqlite3 < export.sqlite3.sql
"は、SQLiteの.read
コマンドは(現在または将来)単に「すべてのテキストを読んで実行する」よりも高度な場合があります。バッチ処理を行う可能性があります。これにより、大きなダンプのメモリ使用量が削減されます。しかし、これはかなりあいまいでありそうもない利点であることを認めます。おそらく、.read
は、リダイレクトおよびパイプ演算子のように、入力から各行を読み取り、実行するだけです。