Подтвердить что ты не робот

Импортирование дампа SQLite3 обратно в базу данных

Я чувствую, что это глупый вопрос, потому что это похоже на здравый смысл., но ни один поисковый запрос Google, который я могу собрать, может дать мне ответ!

Я знаю, как получить данные из базы данных sqlite3 с помощью команды .dump. Но теперь, когда у меня есть этот ASCII файл под названием export.sqlite3.sql., Кажется, я не могу вернуть его в базу данных, которую хочу.

Моя цель состояла в том, чтобы перенести данные, которые были у меня в одно приложение rails, на другое, поэтому мне не нужно было все время создавать фиктивные данные., поэтому я сбросил данные из своего первого приложения, избавился от всех операторов CREATE TABLE и убедился, что моя схема на моем втором приложении соответствует., теперь я просто должен получить его там.

Кто-нибудь может помочь мне? И когда вы найдете способ, вы скажете мне, что вы подключили к Google, потому что я сейчас избиваю свою голову ложкой прямо над тем, что, как я думал, будет легкой находкой.

4b9b3361

Ответ 2

Вы не указали свою операционную систему и

sqlite3 my_database.sqlite < export.sqlite3.sql

будет работать для ароматов unix, он не будет работать для окон.

Обратной командой .dump является команда .read. Синтаксис будет

sqlite3> .read export.sqlite3.sql

Ответ 3

Это также должно работать:

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

Одно из возможных преимуществ перед "sqlite3 my_database.sqlite3 < export.sqlite3.sql" заключается в том, что команда SQLite .read может (теперь или в будущем) быть более продвинутой, чем просто "читать во всем тексте и выполнять ее". Это может привести к пакетной обработке, что уменьшит использование памяти для больших дампов. Я признаю, однако, что это довольно неясное и маловероятное преимущество. По всей вероятности, .read просто считывает каждую строку из ввода и выполняет ее, подобно операторам перенаправления и протокола.

Ответ 4

Используйте это для ароматов unix.

нажмите Ctrl + alt + T и напишите

sqlite3 /home/ubuntu/output.sqlite < /home/ubuntu/input.sql

Он восстанавливает вашу базу данных из входного файла.