На предприятии была установлена версия СПДС с базой элементов, хранящихся на SQL-сервере. С течением времени база возможно могла пополняться пользовательскими элементами. Как в этом случае провести обновление СПДС на новую версию?
Вариант 1
Если сотрудники не меняли стандартные, хранящиеся в базе, но добавляли свои.
В результате пользовательские объекты будут сохранены, новые добавятся из апдейта.
Вариант 2
Если сотрудники не только добавляли свои детали, но и меняли стандартные СПДС.
При синхронизации каждая отличающаяся деталь будет анализироваться.
Если добавлен новый вид — он сохранится, если же изменен, например, скрипт — будут сравниваться даты изменений в текущей базе и в апдейте, останется более новый скрипт.
Таким образом, данные детали сливаются, а если они в обеих базах присутствуют и отличаются — берутся более новые.
В такой ситуации администратор до синхронизации может проанализировать список различий деталей в текущей базе и в апдейте, для чего в диалоге Синхронизация необходимо нажать на кнопку Список различий.
Все необходимые детали необходимо экспортировать, а после синхронизации — импортировать в уже обновленную базу.
Программа: СПДС GraphiCS, nanoCAD СПДС
Однако это нетривиальная задача, глазками по логу списка различий.
я бы порекомендовал пользователям не менять стандартные, а работать с копиями стандартных (и хранить их в отдельных каталогах)
Позволю себе не согласиться, этот способ не сработает если в базе уже есть такой объект (с таким же ID) при импорте диалог напишет в базе находится-пропущен и соответственно в базе останется старая версия.
Руками выбирать в этом случае то же не вариант....
Делаю проще: создаю в базе каталог, например ТЕМП импортрую в него все объекты которые хотел, существующие объекты хоть и не перезапишутся, но тем не менее переместятся в этот каталог. удаляю этот каталог, и снова импортирую, но только теперь или во всю базу или в нужные каталоги.
При таком способе база будет гарантрированно содержать актуальные версии компонентов и не приходится старые вычищать по одному.
PS с таблицами так не работает, они в базе только по имени.