Синхронизация Mysqlite в автономном режиме с удаленной базой данных - PullRequest
0 голосов
/ 20 мая 2018

Я работаю над проектом, одним из требований которого является приложение, работающее в автономном режиме.Поэтому я создал автономную базу данных MySQLite, которая является копией онлайн-базы данных.Теперь в приложении для Android сотрудники будут выполнять свою работу, в то время как некоторые строки в некоторых таблицах будут обновлены, или некоторые строки будут вставлены, но никогда не удаляются.

Я использовал метод «Версия», в котором добавлял столбец «Версия» к таблицам, и каждый раз, когда строка обновлялась, она увеличивала версию.

Проблема связана счасть вставки.Приложение является многопользовательским, если в таблице было 5 строк до того, как приложение перестало подключаться к удаленной базе данных (таким образом, приложение должно использовать автономную БД), и если пользователь 1 добавляет 2 строки, а пользователь 2 также добавляет 2 строки, вих соответствующие автономные базы данных (на разных устройствах) будут иметь одинаковые идентификаторы, и сначала я хотел проверить maxID из удаленной БД и maxID из автономной БД mysqli и вставить все новые строки в оперативную БД, но это не сработает.

Есть ли простые решения, как синхронизировать новые строки автономной БД с удаленной БД после восстановления соединения?

1 Ответ

0 голосов
/ 20 мая 2018

синхронизация данных с использованием идентификатора не является хорошей идеей
вы должны сделать запрос на обновление вашего мобильного приложения на сервер, который отправляет отметку времени последнего обновления (и если вы не добавляете строку из своего автономного приложения для разработки на удаленный компьютер)серверная база данных очень проста)
вам следует запросить, где созданная или обновленная строка новее, чем ваша отметка времени для мобильных устройств


ps: в базе данных приложения для Android есть SQLite, не знал, что вы можете использоватьдругое дБ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...