Если импорт не обновляет данные, а создает новые
Рубрика: Решения
Сегодня я разрешил дилемму, которая для меня была совершенно не очевидна. А именно: почему при импорте данных не происходит обновление этих самых данных?
Дело было так:
- я выкачиваю данные из каталога в формате CSV
- беру свой любимы Excel и вношу необходимые изменения
- сохраняю
- загружаю в каталог
Результат поражает своей удивительностью: появились новые элементы.
«Но как же это?» — думаю я – «Ведь создатели UMI пообещали что идентификаторы объектов в системе будут уникальными. Так почему-же записи каталога с уникальными ID не заменили одна другую?»
Я думаю этот вопрос рано или поздно задавал себе любой, кто сталкивается с экспортом впервые.
Ответ прост до банальности: необходимо было сохранить имя файла, которое было получено при вытаскивании данных из каталога.
Объяснение сему феномену присутствует: при выгрузке из базы данных UMI CMS сохраняет некое «адресное пространство», основываясь на названии файла и, если человек пытается загрузить файл с точно таким же названием – это означает что необходимо обновить данные. А если нет – то нужно загружать все по новой.
Но вот вопрос: а насколько вообще логично такое действие?
На мой взгляд, раз уж авторы предусмотрели вариативность, было бы проще поставить галочку. Ведь страница настроек импорта и экспорта присутствует, но явно задать характер действий на ней нет никакой возможности.
Да и по сути, если разобраться. Кто будет работать с тем же файлом, что и выгруженный?
Лично я сохраняю его как оригинал, а изменения всегда вношу в копию, которую, естественно, называю иначе. И, если я что-то напорчу, то всегда смогу загрузить исходный файл, а если нет – вот он, конечный. Каким же образом, в случае логики создателей UMI CMS, я должен бекапировать мои действия с данными?
Вопрос остается без ответа, но, возможно, это лишь моё скромное мнение, как человека, не знакомого досконально со внутренней архитектурой системы.
Дек06