Потеря изменений при отправке в базу данных мобильных приложений Azure в Java - PullRequest
0 голосов
/ 01 июня 2018

Я занимаюсь разработкой приложения для Android, в котором используются службы мобильных приложений Azure, чтобы обеспечить автономную синхронизацию с их таблицами easyJs для узлов.

У меня проблема с методами их обновления,Я понимаю, что они обновляются на основе идентификатора, который имеет определенный объект.Я обновил одно из моих полей объектов новым значением и передал его их методу обновления, например:

DataHolder.getInstance().InventoryTable.update(inventory).get();

DataHolder - это всего лишь одиночный объект, который содержит все моитаблицы для удобства пользования.Я передаю свой инвентарный объект после обновления его поля местоположения, которое записывается как:

enter image description here

Это обновление не является проблемой длямне.Поле обновляется, и когда я закрываю и открываю приложение, пока я в автономном режиме, изменения остаются.

Проблема возникает, когда я пытаюсь синхронизировать данные обратно в базу данных Azure, используя синхронизациюМетод:

syncContext.push().get();
DataHolder.getInstance().InventoryTable.pull(null).get();

Изменения теряются, и все возвращается к тому, что в настоящее время хранится в онлайн-базе данных.

Я также пробовал:

syncContext.push().get();
DataHolder.getInstance().InventoryTable.pull(null, "inventory").get();

В приведенном выше случае изменения не теряются, но информация по-прежнему не синхронизируется с базой данных.

У меня естьне внесены изменения в easytables.Они используют код по умолчанию, который Azure предоставляет вам при первом создании таблиц.

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

Я прочитал бесчисленное множество статей и много вопросов о StackOverflow, но все еще ничего не решает эту проблему.Я не уверен, где я ошибся, так что, надеюсь, один из вас сможет мне помочь.

Большое спасибо.

1 Ответ

0 голосов
/ 01 июня 2018

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

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