С ответом

Как восстановить базу из архива?

Дано:

1. телефон-андроид после сброса настроек. Сброс сделан 12 января.

2. zip-архив файлов из dropbox-а (файл .pfd и папка .sync). Файл .pfd имеет дату 10 декабря 2019г. Самый свежий файл в папке - 12 января (их там 5 штук таких). Архив сделан 13 января, ДО установки программы на андроид.

3. Программой на ПК уже год не пользовался.

Проблема:

Копирую файл .pfd из dropbox-а на телефон, передаю его в программу – получаю неполную базу. А именно – неподтверждённые транзакции заканчиваются 15 декабря. Подтверждённые - 22 декабря. И есть 3 штуки за январь :) Хотя было гораздо больше.

Вопрос:

Как восстановить базу на момент «до сброса настроек телефона» ?

PS. Скриншоты сделаны 13 января.

Комментировать

Комментарии (18)

фото
1

Восстановите все файлы в Dropbox, скопируйте базу данных на телефон, подключите базу к Dropbox (включите синхронизацию в настройках) и нажмите кнопку "Синхронизировать". Если каких-то данных не хватает, значит в Dropbox не самая свежая копия, т.е. синхронизация не была сделана перед сбросом телефона и восстановить данные не удастся.

фото
1

"Восстановите все файлы в Dropbox, скопируйте базу данных на телефон, " - я правильно понимаю, что в dropbox надо закачать И папку И базу данных? А в телефон ТОЛЬКО базу ?

фото
1

сделал, как Вы написали. В итоге получил тоже самое.

В таком случае Вы говорите, что данных в облаке нет? Но транзакции не просто заканчиваются каким-то числом, а ведь есть и за январь 2 штуки...

И ещё несколько вопросов в догонку:

Что тогда означает дата файлов - 12 января у файла в папке, и 10 декабря у основного файла?

Зачем вообще эта россыпь файлов в папке?

И что делать в аналогичной ситуации перед сменой телефона, к примеру?

Как понять, что в какой-то момент синхронизация сломалась?

Можно ли вообще, как-то вести базу локально на телефоне/ПК?

фото
1

База и находится локально (ну или куда положите). Через Dropbox идет обмен данными при синхронизации, там может не быть "полного комплекта" данных.

Перед сменой телефона нужно базу куда-то сохранить: кнопка "поделиться" рядом с названием базы. Ну или изначально хранить базу где-нибудь в облаке.

фото
1

"или изначально хранить базу где-нибудь в облаке" - это как? Если для того, чтобы потом её подключить, нужно файл подключать локально? Программа так и будет к локальной цепляться, судя по всему.

фото
1

Если облако поддерживает прямой доступ к файлам (из других программ), то оно будет в списке источников когда нажимаете кнопку "Открыть" и тогда можно открывать файл прямо в облаке. См раздел "Совместный учет финансов через другие облачные сервисы" в инструкции по настройке синхронизации: https://community.personalfinances.ru/knowledge-base/article/sync_mobile

фото
1

Но Вы же сами вчера писали, что DropBox не поддерживает такой доступ. Т.е. нужно самому искать такое облако? Или есть какие-то рекомендуемые?

Кстати, давно он перестал это поддерживать? Ведь раньше то работало! Буквально летом проделывал такую же операцию с телефоном, и ничего не потерял.

фото
1

Google Drive поддерживает. Dropbox никогда не поддерживал, просто раньше синхронизация работала немного по-другому. Но в любом случае - раз в Dropbox нет свежих данных, значит синхронизация не выполнялась какое-то время. Перед удалением программы нужно проверить, есть ли актуальная копия базы данных где-то еще.

фото
1

То, что надо проверять - полностью согласен. Это было, видимо, моей ошибкой.

Нажатие кнопки "Синхронизировать" - гарантирует идентичность данных на телефоне и в облаке? Я вот сейчас внёс изменения в базу - добавил транзакцию, гляжу в облако - файл PFD не изменил своей даты, но даты изменились у мелких файлов в папке. И на телефоне этот файл не изменил своей даты

Основной файл так и не будет меняться во время синхронизации ?

фото
1

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

фото
1

совсем всё запуталось :) а что гарантирует? или на синхронизацию вообще не стоит надеяться?

В pfd тогда что хранится? и как тогда вести базу локально? Или как её вообще вести, чтоб ничего не терялось ))

фото
1

База данных - это один файл, pfd, в нем все и хранится. Через Dropbox идет обмен данными при синхронизации, там обычно есть полная копия базы, но это не обязательно.

фото
1

попробовал подключиться через гугл драйв - в нём не создаётся папка .sync. Это нормально, как я понимаю ?

фото
1

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

фото
1

"Синхронизация только через Dropbox" - а через ГД что, не будет синхронизации, если дать доступ к файлу другому пользователю ?

фото
1

Это будет не синхронизация. Изменения, сделанные с разных устройств, будут объединены в одном файле, но не сразу. Вы увидите у себя чужие изменения в лучшем случае через несколько минут. Зависит от используемого облака и настроек. В настройках Google Drive может быть включена опция "только Wifi".

фото
1

Но все изменения же, рано или поздно, попадут в облако, и далее на все девайсы ?

фото
1

Да.

фото