Различия
Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
инвентаризация:dev:синхронизация [2023/08/22 05:58] admin создано |
инвентаризация:dev:синхронизация [2023/09/01 03:18] (текущий) admin [Объекты] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | {{tag>черновик | + | {{tag>dev Инвентаризация}} |
====== Инвентаризация: | ====== Инвентаризация: | ||
Механизм синхронихации между БД | Механизм синхронихации между БД | ||
Строка 10: | Строка 10: | ||
* Модели оборудования | * Модели оборудования | ||
* ПО | * ПО | ||
+ | * Типы лицензий | ||
+ | * Схемы лицензирования | ||
+ | * Контрагенты (надо убрать из них приватную часть) | ||
==== Режимы синхронизации ==== | ==== Режимы синхронизации ==== | ||
Строка 22: | Строка 25: | ||
* обновление существующих | * обновление существующих | ||
* добавление+обновление | * добавление+обновление | ||
- | Вопрос с удалением отсутствующих объектов | + | |
==== Регламент ==== | ==== Регламент ==== | ||
Строка 34: | Строка 38: | ||
* Учитывая необходимость исправлять ссылки на лету, логично все затолкать в один котроллер, | * Учитывая необходимость исправлять ссылки на лету, логично все затолкать в один котроллер, | ||
| | ||
+ | {{drawio> | ||
==== Вложения ==== | ==== Вложения ==== | ||
Нужно разрешить extend вложений в типах и моделях оборудования | Нужно разрешить extend вложений в типах и моделях оборудования | ||
Строка 40: | Строка 45: | ||
* Определив направление сравниваем сканы поименно с учетом размера и даты | * Определив направление сравниваем сканы поименно с учетом размера и даты | ||
* При наличии различий - обновляем в нужном направлении | * При наличии различий - обновляем в нужном направлении | ||
+ | {{drawio> | ||
==== Прочее ==== | ==== Прочее ==== | ||
Возможно логичнее все сделать в виде внешнего ПО работающего через REST API, чтобы ограничиться работой с REST, а не делать часть задач через локальную БД | Возможно логичнее все сделать в виде внешнего ПО работающего через REST API, чтобы ограничиться работой с REST, а не делать часть задач через локальную БД | ||
С другой стороны полезно встроить в саму инвентори с точки зрения добавления Моделей/ | С другой стороны полезно встроить в саму инвентори с точки зрения добавления Моделей/ | ||
+ | Всем синхронизируемым объектам надо добавить поле updated_at и заполнить его | ||
==== Зависимости ==== | ==== Зависимости ==== | ||
Строка 50: | Строка 56: | ||
Грузим все объекты с одной стороны для понимания кто куда ссылается | Грузим все объекты с одной стороны для понимания кто куда ссылается | ||
Также согласно зависимостей их надо поселедовательно добавлять во вторую систему | Также согласно зависимостей их надо поселедовательно добавлять во вторую систему | ||
- | | + | |
- | | + | |
- | Написание | + | Написание |
Строка 58: | Строка 64: | ||
Как обнаруживать переименование объектов, | Как обнаруживать переименование объектов, | ||
хз | хз | ||
- | типы оборудования по коду | + | типы оборудования по коду, а все остальное походу по имени |
- | Все остальное походу по имени | + | |
В случае получения в БД переименованного объекта и перестановки ссылок на него, старый должен оказаться не используемым и может быть удален (если не найден в источнике синхронизации) | В случае получения в БД переименованного объекта и перестановки ссылок на него, старый должен оказаться не используемым и может быть удален (если не найден в источнике синхронизации) | ||
+ | Вопрос с удалением отсутствующих объектов | ||
+ | |||
+ | В процессе перепривязывания ссылок можно обнаруживать ссылки на какие объекты были отвязаны | ||
+ | Потом перепровеврить все отвязанные объекты на предмет допустимости удаления, | ||
+ |