Как я могу восстановить поврежденный дб Shotwell?

В то время как я импортировал фотографии из SD-карты в Shotwell, мой ноутбук отказал (завершение работы из-за перегрева). Теперь, я больше не могу запускать Shotwell:

$ shotwell
**
ERROR:x86_64-linux-gnu/db/VersionTable.c:104:version_table_construct: assertion failed: (res == SQLITE_OK)

Если я перемещаюсь .db файл ~/.shotwell/data/photo.db в другом месте, таким образом, это больше не присутствует (но поддержано), shotwell запустится, но восстановит свою библиотеку, которая будет пуста. Я могу повторно импортировать папки shotwell, создает, но я теряю почти все метаданные (самое главное "папки", или события и их основное изображение)

Есть ли способ восстановить/восстановить/восстановить photo.db? Как я могу видеть то, что внутри? как плохо это повреждено?

Или есть ли другой способ возвратить мои события и импорт?

5
задан 9 July 2012 в 06:33

3 ответа

База данных Shotwell может быть повреждена из-за паники ядра и потери питания.

При использовании Shotwell 0.10 или выше база данных автоматически резервируется при каждом выходе из программы ; в худшем случае вы потеряли бы какую-либо работу с момента запуска программы.

К сожалению, более старые версии Shotwell не имеют этой функции, и маловероятно, что вы сможете восстановить данные из поврежденной базы данных.

8
ответ дан 23 November 2019 в 08:45

Можно проверить целостность базы данных со следующей командой:

$ sqlite3 photo.db
SQLite version 3.7.4
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> pragma integrity_check;
ok

Если это сообщает об ошибке, Вы можете восстанавливать содержание путем дампа данных и восстановления их в новую базу данных:

$ echo .dump | sqlite3 photo.db > photo_dump.sql
$ sqlite3 new_photo.db < photo_dump.sql

Создайте резервную копию исходной базы данных и затем переместите новую в место и посмотрите, как идут дела.

2
ответ дан 23 November 2019 в 08:45

Можно найти резервную базу данных в .shotwell папке в "доме". Будет photo.db.bak.

Просто переименуйте его к photo.db и удалите поврежденный старый "photo.db", и необходимо быть в порядке снова.

3
ответ дан 23 November 2019 в 08:45

Другие вопросы по тегам:

Похожие вопросы: