У нас был точно такой же сценарий раньше.Это немного сложно, в зависимости от того, как вы к нему подойдете.
1) Удаление и воссоздание списка типов товаров через пользовательский интерфейс
Если вы удалите и заново создадите список поиска (тип продукта в вашем случае) через пользовательский интерфейс, то вы потеряете соединения, потому что идентификатор спискаGUID будет меняться при отдыхе.Так что не идите по этому пути.
2) Удаление и воссоздание типа продукта с помощью функции
Если у вас было , созданный список типов продуктов с помощью файла feature.xml
, используяэлемент <ListInstance>
, затем, если вы удаляете этот список и затем воссоздаете его, используя ту же функцию (в основном атрибут Id объекта ListInstance остается прежним, количество элементов списка, т. е. количество элементов <Row>
, может измениться), связьбудет поддерживаться.Так что, если вы добавляете еще 5 типов продуктов, то, если бы вы создали список, используя функцию, вы могли бы просто удалить список и предоставить новый, используя ту же функцию, с дополнительной информацией для новых элементов, и все будет работать!
Как примечание, это лучший подход, потому что если вам нужно выполнить обновление на многих серверах, то вместо того, чтобы выполнять импорт списка экспорта через stsadm, деактивация и активация функций - это гораздо более рекомендуемое решение.,Вот как мы это сделали.
3) Удаление всех элементов списка из Типа продукта и добавление новых (список никогда не удаляется)
Если вы связываете поле поиска (в Списке продуктов)в поле идентификатора списка поиска (Тип продукта) необходимо запомнить, что идентификатор автоматически увеличивается, поэтому если вы удалите все элементы, а затем добавите новые, то их идентификаторы будут другими .Скажем, у вас было 5 элементов с идентификаторами (поле идентификатора не отображается в пользовательском интерфейсе при редактировании в виде таблицы) 1-5 в списке.Если вы удалите их и добавите новые элементы, их идентификаторы будут начинаться с 6, а не с 1.Таким образом, если в вашем поле поиска была ссылка на элемент с идентификатором 1, этот метод работать не будет, поскольку в списке Тип продукта больше нет элемента с идентификатором 1.Поэтому вы, возможно, захотите действительно попробовать это, прежде чем приступить к работе с этим методом.
4) Редактирование списка на месте
Если список не очень большой, и вам нужно только сделатьэто изменение одного или двух экземпляров, не могли бы вы просто отредактировать список непосредственно в виде таблицы на сервере Prod?При редактировании в виде таблицы не удаляйте элемент, а просто перезаписывайте значения его столбцов.И вы можете добавить больше элементов, если хотите.Это позволит убедиться, что ваши идентификаторы действительны.
Я в основном говорил о добавлении новых элементов в список.Теперь, если вы удаляете существующие элементы, то ваши поля поиска будут затронуты, потому что, если вы связали поле по идентификатору, идентификатор больше не присутствует, так как элемент был удален.По сути, любой метод, которым вы пользуетесь, поддерживая свои идентификаторы, имеет решающее значение.
Теперь по поводу ваших сомнений / вопросов: я не слишком уверен насчет импорта экспорта через stsadm для списка (никогда не делал это сам), но stsadm может быть сложнымтак как некоторые операции будут работать только на определенных областях.Поэтому вам лучше опробовать свой точный сценарий в среде разработчиков.
То, что происходит во время импорта, снова сложно, в зависимости от точного времени.Я уверен, что у SP есть свои собственные механизмы параллелизма, но вы не можете получить однозначный ответ, поскольку он может отличаться в зависимости от стадии импорта.Если возможно, рекомендуется выполнить импорт во время запланированного простоя.
Что касается изменения схемы списка, изменение схемы списка не повлияет на существующие экземпляры списка (по большей части). Если вы делаете это через пользовательский интерфейс, я считаю, что SP вносит изменения в базу данных контента напрямую. Я не уверен, как вы собираетесь это сделать, но если бы вы добавили столбец в существующий список, используя функцию, способ сделать это во время активации функции, добавив новый тип контента в список и добавив новый столбец к этому типу контента. Таким образом, вы добавляете столбец, но не затрагивает существующие элементы списка.
Удачи ...