Поиск…


Вступление

Unicorn - это утилита Sitecore, которая решает проблему перемещения шаблонов, рендеринга и других элементов базы данных между экземплярами Sitecore. Это становится проблематичным, когда разработчики имеют свои собственные локальные экземпляры - пакеты подвержены ошибкам и, как правило, забываются на пути к производству. Unicorn решает эту проблему, записывая сериализованные копии элементов Sitecore на диск вместе с кодом - таким образом, копия необходимых элементов базы данных для данной кодовой базы сопровождает ее в исходном контроле.

замечания

Полезную информацию можно найти здесь:

Начальная настройка

  • Вам понадобится Sitecore 6.6 или новее (включая Sitecore 8.x ). Обратите внимание, что для совместимости Sitecore 6.6 у вас должен быть установлен .NET 4.5.
  • Установите Единорог. Это так же просто, как добавление пакета Unicorn NuGet к вашему проекту.

PM> Install-Package Единорог

  • Когда вы устанавливаете пакет NuGet, в Visual Studio появится файл README с помощью которого вы начнете.

Ручная установка / установка из источника

  • Клонировать хранилище
  • Поместите копию сборки Sitecore.Kernel.dll в / lib / sitecore / v7 (для v7 / v8)
  • Создайте проект для своей Sitecore версии с помощью Visual Studio 2012 или более поздней версии
  • Скопируйте Unicorn.dll, Rainbow.dll, Rainbow.Storage.Sc.dll, Rainbow.Storage.Yaml.dll и Kamsar.WebConsole.dll в свой основной проект любым способом (ссылка на проект, как двоичные ссылки и т. Д.),
  • Скопируйте файлы стандартной конфигурации * .config в папку App_Config \ Include \ Unicorn
  • Настройтесь по своему вкусу; файл настройки README является хорошей отправной точкой.
  • Удалите $ yoursite / unicorn.aspx, чтобы выполнить начальную сериализацию вашего настроенного предиката

Архитектура поставщика данных

Для поставщика данных Единорога существуют два компонента: реализация конкретной базы данных и реализация Unicorn.

Реализация Unicorn - это индивидуальная конфигурация зависимостей Unicorn, которая обеспечивает автоматическую сериализацию. Например, если вы UnicornDataProvider сериализацию двух пресетов, вам понадобятся два экземпляра UnicornDataProvider - по одному для каждой реализации IPredicate .

Реализация конкретной базы данных является подклассом исходного поставщика данных Sitecore, который предоставляет контейнер для одного или нескольких экземпляров UnicornDataProvider . Из коробки предоставляется UnicornSqlServerDataProvider . Вы можете бросить свой собственный, если находитесь в Oracle. Этот провайдер эффективно является неблокируемым обработчиком событий, который позволяет Unicorn захватывать изменения элементов, даже если используется злой класс EventDisabler .

Если вы хотите подключить несколько поставщиков данных Unicorn к своей базе данных, вы создаете класс, который происходит от UnicornSqlServerDataProvider . В этом классе вы можете выбрать:

  • Создайте конструктор, который вводит ваш провайдер (ы) с помощью базового конструктора:
public MyDataProvider(string connectionString) :
base(connectionString, new UnicornDataProvider(), new
UnicornDataProvider(), ...)
  • Создайте конструктор, который вводит ваш провайдер (ы) с помощью кода (это лучше, если вам нужно строить зависимости и т. Д., Которые не подходят для базового вызова):
public MyDataProvider(string connectionString) : base(connectionString, null)
 {
    AddUnicornDataProvider(new UnicornDataProvider());
    // ...
 }


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow