Если импорт не обновляет данные, а создает новые

Сегодня я разрешил дилемму, которая для меня была совершенно не очевидна. А именно: почему при импорте данных не происходит обновление этих самых данных?

Дело было так:

  • я выкачиваю данные из каталога в формате CSV
  • беру свой любимы Excel и вношу необходимые изменения
  • сохраняю
  • загружаю в каталог

Результат поражает своей удивительностью: появились новые элементы.

«Но как же это?» — думаю я – «Ведь создатели UMI пообещали что идентификаторы объектов в системе будут уникальными. Так почему-же записи каталога с уникальными ID не заменили одна другую?»

Я думаю этот вопрос рано или поздно задавал себе любой, кто сталкивается с экспортом впервые.

Ответ прост до банальности: необходимо было сохранить имя файла, которое было получено при вытаскивании данных из каталога.

Объяснение сему феномену присутствует: при выгрузке из базы данных UMI CMS сохраняет некое «адресное пространство», основываясь на названии файла и, если человек пытается загрузить файл с точно таким же названием – это означает что необходимо обновить данные. А если нет – то нужно загружать все по новой.

Но вот вопрос: а насколько вообще логично такое действие?

На мой взгляд, раз уж авторы предусмотрели вариативность, было бы проще поставить галочку. Ведь страница настроек импорта и экспорта присутствует, но явно задать характер действий на ней нет никакой возможности.

Да и по сути, если разобраться. Кто будет работать с тем же файлом, что и выгруженный?

Лично я сохраняю его как оригинал, а изменения всегда вношу в копию, которую, естественно, называю иначе. И, если я что-то напорчу, то всегда смогу загрузить исходный файл, а если нет – вот он, конечный. Каким же образом, в случае логики создателей UMI CMS, я должен бекапировать мои действия с данными?

Вопрос остается без ответа, но, возможно, это лишь моё скромное мнение, как человека, не знакомого досконально со внутренней архитектурой системы.

Простой и понятный online-курс для обучения XSLT-программиста с любого базового уровня

Дек06

Ваш отзыв