47

I feel like this is a stupid question because it seems like common sense . . . but no google search I can put together seems to be able to give me the answer!

I know how to get data OUT of a sqlite3 database using the .dump command. But now that I have this ASCII file titled export.sqlite3.sql . . . I can't seem to get it back INTO the database I want.

My goal was to transfer the data I had in one rails app to another so I didn't have to take all sorts of time creating dummy data again . . . so I dumped the data from my first app, got rid of all the CREATE TABLE statements, and made sure my schema on my second app matches . . . now I just have to get it IN there.

誰か私を手伝ってくれませんか?そして、方法を見つけたら、Google に何を接続したか教えてくれませんか? なぜなら、私は今、簡単に見つけられると思っていたものについて、スプーンで頭を叩いているからです.

4

4 に答える 4

68
cat dumpfile.sql | sqlite3 my_database.sqlite

これは、sqlite3 入門ガイドから変更されています。

于 2008-11-22T20:08:46.230 に答える
54

オペレーティング システムを指定していませんでしたが、

sqlite3 my_database.sqlite < export.sqlite3.sql

Unix フレーバーでは機能しますが、Windows では機能しません。

.dump コマンドの逆は .read コマンドです。構文は次のようになります

sqlite3> .read export.sqlite3.sql
于 2009-01-30T06:12:11.750 に答える
2

これも機能するはずです:

echo '.read export.sqlite3.sql' | sqlite3 my_database.sqlite3

「」に勝る可能性のある利点の1つsqlite3 my_database.sqlite3 < export.sqlite3.sqlは、SQLiteの.readコマンドが(現在または将来)「すべてのテキストを読み取って実行する」よりも高度になる可能性があることです。バッチ処理を行う可能性があります。これにより、大きなダンプのメモリ使用量が削減されます。しかし、これはかなりあいまいでありそうもない利点であることを認めます。おそらく、.readリダイレクト演算子やパイプ演算子と同じように、入力から各行を読み取って実行するだけです。

于 2009-06-05T17:55:49.460 に答える