Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Есть приложение https://github.com/bubnenkoff/DBSyncNET

Что оно делает.

1. Берет данные с определенными флагами из PostgreSQL

2. Выгружает их в SQLite

3. Берет данные из SQLite, проверяет есть ли в FireBird (проверка по GUID). Выгружает нужные данные в FireBird.

В случае если в FireBird есть не синхронизированные данные, то выгружает их в SQLite.

Все проверка идет по флагу FL:

Не синхронизированные данные -- 10

Данные ожидают синхронизации -- 11

Данные синхронизированы и в синхронизации больше не нуждаются -- 12

Сам к сожалению C# знаю очень плохо и уже начал говнокодить.

Собственно большая часть логики у меня реализована. Никакие доп фишки не нужны. Никакие ORM тоже не нужны. Все запросы должны остаться в таком же виде -- в виде чистого SQL с параметрами (ну типа чтобы бинарные блобы можно было вставить).

Примеры БД на Гитхабе.

Как я понимаю нужен еще один класс и пара методов. Только сам я запутался уже.

Алгоритм работы:

Во всех трех базах одинаковая структура.

Нужно взять данные из PG из таблицы с FL=10

Поменять FL на 11 (типа данные ожидают синхронизации)

Выгрузить их в SQLite

---

Следующий шаг:

Подключаемся к FireBird. Делаем выборку из SQLite по ГУИДам (чтобы понять есть ли там такие данные или нет). Для данных которых в FireBird нет делаем выборку из SQLite и вставляем их в FireBird. Данным в FireBird ставим FL - 12.

--

Потом делаем выборку из FireBird данных с FL=10 и выгружаем их в SQLite, чтобы потом вставить в PG и в нем уже поменять флаг для них на 12

9 лет назад
Suliman1
Дмитрий 
55 лет
12 лет в сервисе
Был
4 года назад

Заявки фрилансеров

Нет заявок фрилансеров