2016-08-08 78 views
3

Ich versuche, das Schema für test.db nur (d. H. Keine Daten) in eine Datei mit dem Namen schema.sql von der Befehlszeile in OS X zu dumpen, ohne sqlite3 zu starten.sqlite3: Dump-Schema in .SQL-Datei von der Befehlszeile

Ich weiß, was ich tun kann:

sqlite3 
.open test.db 
.output schema.sql 
.schema 
.quit 

Aber ich will das nicht SQLite 3. ...

echo '.output schema.sql' | sqlite3 test.db 

schafft die leere Datei, aber das ...

starten
echo '.schema' | sqlite3 test.db 

druckt nur das Schema. Wie kann ich es von Terminal in diese Datei schreiben?

Danke!

Antwort

7

Die Shell-Umleitung ermöglicht, und sqlite3 kann den Befehl als Parameter erhalten:

sqlite3 test.db .schema > schema.sql 
1

Ich habe es herausgefunden! Ich brauche nur den Text in der echo Aussage zu entkommen:

echo -e '.output schema.sql\n.schema' | sqlite3 test.db