Feature #1992
Updated by Mellon over 8 years ago
Как указано в #1991, повреждение бд приложения вызывает проблему. Вариантом её решения является попытка автоматического восстановления поврежденной базы данных. Например, имеем следующую ситуацию: <pre> % sqlite3 history.db SQLite version 3.12.0 2016-03-29 10:14:15 Enter ".help" for usage hints. sqlite> pragma integrity_check; Error: database disk image is malformed sqlite> </pre> В таком случае возможным решением является следущая последовательность действий: 0. Смотрим размер файла базы данных. 1. Смотрим доступное место на диске с директорией содержащей поврежденную базу 2. Если 1. меньше 0., то предлагаем пользователю 3 варианта: 1) почистить раздел вручную и попробовать снова; 2) удалить старую базу и создать новую; 3) выйти из программы 3. Если 1. больше 0., то: 4. переименовываем поврежденную базу в <name>-backup.db 5. Дампим поврежденную базу в новую, например: <pre> sqlite3 history-backup.db '.dump' | sqlite3 sqlite history.db </pre> 6. Выдаем результат, например. "Размер файла поврежденной базы данных: 522975232 Кб Размер файла восстановленной базы данных: 489742336 Кб, Восстановлено 2946948 записей."