Перенос изменений c помощью WorkspaceConsole
Glossary Item Box
Общие сведения
Утилита WorkspaceConsole — это программа, предназначенная для выполнения различных операций с пакетами bpm'online. Наиболее часто используемые операции, выполняемые с помощью утилиты:
- Выгрузка пакетов из среды разработки для переноса в среду тестирования или продуктовую среду. Пакеты сохраняются в виде архивов.
- Установка новых пакетов при обновлении или при переносе из среды разработки.
- Выгрузка и загрузка ресурсов и наполнения схем для локализации.
- Создание и перенос между приложениями рабочих пространств.
- Работа с конфигурационными схемами.
ВАЖНО Обновление промышленной среды, т.е. приложения bpm'online, в котором выполняются все текущие бизнес-процессы пользователей, необходимо выполнять не в бизнес-время. В противном случае могут быть потеряны данные. |
Прежде чем начать работу с WorkspaceConsole, необходимо выполнить ее настройку. Особенности настройки утилиты подробно изложены в статье "Настройка утилиты WorkspaceConsole".
К СВЕДЕНИЮ Для корректной работы утилите WorkspaceConsole необходим доступ к базе данных приложения. Если приложение развернуто в облаке, то работа с WorkspaceConsole возможна только для сотрудников отдела облачных сервисов. В таком случае для переноса изменений необходимо обратиться в службу поддержки. |
Преимущества использования утилиты WorkspaceConsole для переноса изменений
- Возможность переноса между рабочими средами и конфигурациями не только схем, но и пакетов.
- Возможность переноса привязанных к пакету данных, например, наполнения справочников или разделов.
- Возможность отдельной работы с ресурсами для локализации, привязанными данными и SQL-сценариями.
Рекомендуемая последовательность переноса изменений с помощью SVN
1. Проверить привязку данных
Прежде чем выгружать пакет, необходимо проверить правильность привязки данных. К таким данным относятся, например, системные настройки, справочники, наполнение раздела и т.п.
ВАЖНО Если раздел создавался при помощи мастера, то необходимые для его работы данные привязываются мастером раздела автоматически. Однако, для того чтобы раздел сразу же после импорта был отображен в рабочем месте, необходимо привязать соответствующее значение объекта SysModuleInWorkplace. |
2. Выполнить резервирование базы данных приложения, в которое необходимо перенести изменения
Перед тем как обновить приложение пользователем с помощью SVN, обязательно необходимо произвести резервирование базы данных. В случае некорректного использования команд и параметров утилиты WorkspaceConsole, данные могут быть повреждены или утеряны.
3. Выгрузить пакеты из базы данных приложения, из которого необходимо перенести изменения
Для выгрузки пакетов из базы данных необходимо запустить утилиту WorkspaceConsole со следующими значениями параметров (таблица. 1):
Табл. 1. — Параметры WorkspaceConsole для выгрузки пакетов из базы данных
Параметр | Значение | Описание |
---|---|---|
operation | SaveDBContent |
Сохраняет содержимое базы данных в файловую систему. Тип содержимого определяется значением параметра contentTypes. Место в файловой системе, куда будет выгружено содержимое, определяется параметром destinationPath. |
contentTypes | Repository | Тип содержимого, выгружаемого из базы данных в дисковое пространство. Значение Repository определяет выгрузку рабочего пространства, имя которого задается значением параметра workspaceName, в каталог, путь к которому задается значением параметра destinationPath. |
workspaceName | [Название рабочего пространства] | Название рабочего пространства (конфигурации), в котором определены выгружаемые пакеты. По умолчанию все пользователи работают в рабочем пространстве Default. |
destinationPath | [Путь к локальному каталогу] |
Путь к локальному каталогу в дисковой системе. В этот каталог будут выгружены заархивированные в формате *.gz пакеты. |
Сигнатура команды, которую необходимо выполнить в интерпретаторе команд (консоли) Windows для выполнения операции выгрузки из базы данных:
[Путь к WorkspaceConsole]\Terrasoft.Tools.WorkspaceConsole.exe -operation=SaveDBContent -contentTypes=Repository -workspaceName=[Название рабочего пространства] -destinationPath=[Путь к локальному каталогу]
В результате выполнения утилиты с такими параметрами в локальный каталог будут выгружены архивы со всеми пакетами указанного рабочего пространства.
К СВЕДЕНИЮ Для удобства формирования команды можно с помощью любого текстового редактора создать пакетный файл (*.bat), в котором и записать необходимую команду. |
4. Загрузить необходимые пакеты в приложение, в которое необходимо перенести изменения
Для загрузки пакетов в базу данных необходимо запустить утилиту WorkspaceConsole со следующими значениями параметров (таблица. 2):
Табл. 2. — Параметры WorkspaceConsole для загрузки пакетов в базу данных
Параметр | Значение | Описание |
---|---|---|
operation | InstallFromRepository | Выполняет загрузку содержимого пакетов из архивов в базу данных. При необходимости выполняются привязанные SQL-скрипты, перегенерация исходных кодов, установка привязанных данных. Особенностью операции является то, что она работает только с измененными или новыми пакетами и их элементами. |
packageName | [Имя пакета] | Имя пакета из указанной в параметре workspaceName конфигурации. Важно, что будут также задействованы все пакеты, от которых зависит указанный пакет. Необязательный параметр. Если он не указан, то будут задействованы все пакеты конфигурации. |
workspaceName | [Название рабочего пространства] | Название рабочего пространства (конфигурации), в котором определены выгружаемые пакеты. По умолчанию все пользователи работают в рабочем пространстве Default. |
sourcePath | [Путь к локальному каталогу] |
Путь к локальному каталогу в дисковой системе. В этом каталоге должны находиться заархивированные в формате *.gz пакеты, которые необходимо установить. |
destinationPath | [Путь к локальному каталогу] |
Путь к локальному каталогу в дисковой системе. В этот каталог будут распакованы пакеты из каталога, определенного в параметре sourcePath. |
skipConstraints | false | Опция пропуска действий по созданию внешних ключей в таблицах базы данных. Принимает значения: true, false. |
skipValidateActions | true | Опция пропуска выполнения действий по проверке возможности создания индексов таблиц при обновлении структуры базы данных. Принимает значения: true, false. |
regenerateSchemaSources | true | Указывает на необходимость перегенерации исходных кодов после сохранения пакетов в базе данных. Принимает значения: true, false. |
updateDBStructure | true | Указывает на необходимость смены структуры в базе данных после сохранения пакетов. Принимает значения: true, false. |
updateSystemDBStructure | true | Указывает на необходимость смены структуры в базе данных системных схем перед выполнением установки пакетов. Также создает все отсутствующие индексы в системных таблицах. Принимает значения: true, false. |
installPackageSqlScript | true | Указывает на необходимость выполнения SQL-скриптов до и после сохранения пакетов. Принимает значения: true, false. |
installPackageData | true | Указывает на необходимость установки привязанных к пакету данных после сохранения пакетов. Принимает значения: true, false. |
continueIfError | true | Указывает на необходимость прервать или продолжить выполнение процесса установки при получении первой ошибки. В случае если параметр установлен в true — процесс установки пройдет до конца, а пользователь получит список всех произошедших ошибок. Принимает значения: true, false. |
logPath | [Путь к локальному каталогу] | Путь к папке, в которой должен находиться лог выполнения указанной операции. Название файла состоит из даты и времени запуска операции. |
Сигнатура команды, которую необходимо выполнить в интерпретаторе команд (консоли) Windows для выполнения операции установки пакетов:
[Путь к WorkspaceConsole] -packageName=UsrCustomAuto -workspaceName=Default -operation=InstallFromRepository -sourcePath=[Путь к архивам пакетов] -destinationPath=[Путь распаковки пакетов] -skipConstraints=false -skipValidateActions=true -regenerateSchemaSources=true -updateDBStructure=true -updateSystemDBStructure=true -installPackageSqlScript=true -installPackageData=true -continueIfError=true -logPath=[Путь к логам]
5. Перезапустить приложение в IIS
Поскольку изменения вносятся утилитой WorkspaceConsole напрямую в базу данных, то они не могут быть доступны для уже работающего приложения. Поэтому необходимо перезапустить приложение в IIS.