У меня база данных SQL находится в удаленном месте в качестве основной базы данных.
Пользователь, однако изначально сохраняет данные в локальном SQLite.У меня есть код, который синхронизирует записи между SQLite и SQL.
Поскольку база данных SQL является основной, для идентификатора я установил идентификатор как PrimaryKey.В SQLite изначально я не устанавливал primarykey для ID, потому что это испортит мои записи.
Когда пользователь создает запись, она сохраняется в локальной базе данных без идентификатора.После инициирования SYNC SQL проверяется, существует ли запись с совпадающим идентификатором и именем.
Если false (локальная запись в базе данных еще не имеет идентификатора), локальная запись загружается в SQL и назначается PrimaryKey.Затем сгенерированный идентификатор передается обратно в SQLite и присваивается записи.
С этого момента, не ранее, локальная запись в базе данных имеет идентификатор, и дальнейшие транзакции выполняются с использованием идентификатора.
Так я выполняю синхронизацию между локальной базой данных и SQL.По сути, я не мог придумать лучшего способа синхронизации между двумя БД.Может быть, я ошибаюсь, но на самом деле я впервые пытаюсь выполнить такую операцию.
Это хороший подход?
Или я должен назначить PrimaryKey ID для локальных записей БД?