Скриншоты Sqlite Database Browser - как восстановить БД с помощью файла журнала - PullRequest
6 голосов
/ 22 октября 2011

Я работал над базой данных sqlite с помощью программы «Браузер базы данных SQlite».Программа потерпела крах, и я потерял свои изменения.Но файл db-journal все еще там.Как я могу восстановить базу данных с файлом журнала?Когда я открываю базу данных с помощью браузера баз данных SQLite, старая база данных открывается.

Что я могу сделать?

Спасибо: -)

1 Ответ

1 голос
/ 26 июня 2015

Если вы не включили запись в журнал, я боюсь, что ваши изменения, вероятно, потеряны. Система журналирования по умолчанию в SQLite работает не так, как вы ожидаете.

Из документации:

Традиционный журнал отката работает, записывая копию исходного неизмененного содержимого базы данных в отдельный файл журнала отката, а затем записывая изменения непосредственно в файл базы данных. В случае сбоя или ROLLBACK исходное содержимое, содержащееся в журнале отката, воспроизводится в файле базы данных, чтобы вернуть файл базы данных в исходное состояние.

См:

WAL: https://sqlite.org/wal.html

Форматы файлов, включая журналы: https://sqlite.org/fileformat.html

...