Синхронизация баз данных, если очень сложная тема. Самый простой подход состоит в том, чтобы сохранить на уровне приложения (или даже в виде настраиваемой оболочки sqlite) все запросы, выполняемые к каждой системе, а затем снова запускать их при синхронизации.
Это становится проблематичным, когда у вас есть несколько источников или двусторонняя синхронизация. Запросы, которые выполнялись нормально в одной базе данных, могут сбой в другой из-за разного порядка операций (при условии, что ссылочная целостность включена).
Еще один более сложный, но надежный подход - отслеживать полную историю транзакций для каждой таблицы. Вам также необходимо знать, какие записи были затронуты в каждой транзакции, и порядок внутри каждой транзакции. Когда это будет сделано, вам, вероятно, понадобится способ определить, когда возникнут проблемы, и автоматически обойти их.