В версии TillypadEGAIS_6.3.0 (993), помимо прочего, появился новый функционал:в меню "Сервис" добавлена команда для восстановления поврежденной базы данных.
Время от времени от клиентов приходят обращения, что в базе присутствуют ошибки, база зависает или не открывается.
Мы решили восстановить работу базы через копирование неповрежденных данных в новую базу с актуальной структурой последней версии.
После копирования всех данных в новую базу ошибки целостности уже не появляется.
Поэтому мы добавили такую опцию в ТиллипадЕГАИС.
При восстановлении в рабочем каталоге создается новая база restoring_db.db3, туда копируются все данные из поврежденной базы по возможности.
Если что-то не удалось прочитать, такие записи пропускаются, делается запись в лог, что данные такой таблицы с таким ID не удалось восстановить
В случае отмены или фатального сбоя восстановления временная база restoring_db.db3 удаляется и приложение возвращается в обычный режим. В случае успешного восстановления переименовываются базы Data.db3 -> Data_damaged.db3 и restoring_db.db3 - Data.db3. И возвращаемся в обычный режим с подключением к уже восстановленной базе.