Механизм синхронихации между БД
Хорошо бы иметь общую БД таких объектов как
Нужно разрешить extend вложений в типах и моделях оборудования
При сравнении объектов дополнительно запрашивать сравнение сканов:
Возможно логичнее все сделать в виде внешнего ПО работающего через REST API, чтобы ограничиться работой с REST, а не делать часть задач через локальную БД
С другой стороны полезно встроить в саму инвентори с точки зрения добавления Моделей/Софта/Производителей на лету подтягивая из «облака» при необходимости
Всем синхронизируемым объектам надо добавить поле updated_at и заполнить его
Для корректной простановки ссылок:
Грузим все объекты с одной стороны для понимания кто куда ссылается
Также согласно зависимостей их надо поселедовательно добавлять во вторую систему
Производители Типы оборудования | \ \ / Написание ПО Модели оборудования
Как обнаруживать переименование объектов, например производителя
хз
типы оборудования по коду, а все остальное походу по имени
В случае получения в БД переименованного объекта и перестановки ссылок на него, старый должен оказаться не используемым и может быть удален (если не найден в источнике синхронизации)
Вопрос с удалением отсутствующих объектов
В процессе перепривязывания ссылок можно обнаруживать ссылки на какие объекты были отвязаны
Потом перепровеврить все отвязанные объекты на предмет допустимости удаления, если отвязанный объект осиротел - удаляем