Различия
Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
| инвентаризация: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: | ||
| Как обнаруживать переименование объектов, | Как обнаруживать переименование объектов, | ||
| хз | хз | ||
| - | типы оборудования по коду | + | типы оборудования по коду, а все остальное походу по имени |
| - | Все остальное походу по имени | + | |
| В случае получения в БД переименованного объекта и перестановки ссылок на него, старый должен оказаться не используемым и может быть удален (если не найден в источнике синхронизации) | В случае получения в БД переименованного объекта и перестановки ссылок на него, старый должен оказаться не используемым и может быть удален (если не найден в источнике синхронизации) | ||
| + | Вопрос с удалением отсутствующих объектов | ||
| + | |||
| + | В процессе перепривязывания ссылок можно обнаруживать ссылки на какие объекты были отвязаны | ||
| + | Потом перепровеврить все отвязанные объекты на предмет допустимости удаления, | ||
| + | |||