Ответ 1
cat dumpfile.sql | sqlite3 my_database.sqlite
Я чувствую, что это глупый вопрос, потому что это похоже на здравый смысл., но ни один поисковый запрос Google, который я могу собрать, может дать мне ответ!
Я знаю, как получить данные из базы данных sqlite3 с помощью команды .dump. Но теперь, когда у меня есть этот ASCII файл под названием export.sqlite3.sql., Кажется, я не могу вернуть его в базу данных, которую хочу.
Моя цель состояла в том, чтобы перенести данные, которые были у меня в одно приложение rails, на другое, поэтому мне не нужно было все время создавать фиктивные данные., поэтому я сбросил данные из своего первого приложения, избавился от всех операторов CREATE TABLE и убедился, что моя схема на моем втором приложении соответствует., теперь я просто должен получить его там.
Кто-нибудь может помочь мне? И когда вы найдете способ, вы скажете мне, что вы подключили к Google, потому что я сейчас избиваю свою голову ложкой прямо над тем, что, как я думал, будет легкой находкой.
cat dumpfile.sql | sqlite3 my_database.sqlite
Вы не указали свою операционную систему и
sqlite3 my_database.sqlite < export.sqlite3.sql
будет работать для ароматов unix, он не будет работать для окон.
Обратной командой .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
просто считывает каждую строку из ввода и выполняет ее, подобно операторам перенаправления и протокола.
Используйте это для ароматов unix.
нажмите Ctrl + alt + T и напишите
sqlite3 /home/ubuntu/output.sqlite < /home/ubuntu/input.sql
Он восстанавливает вашу базу данных из входного файла.