Creatio development guide
PDF

Загрузка пакетов в базу данных

Glossary Item Box

Общие сведения

Загрузка пакетов из файловой системы в базу данных приложения выполняется при переносе изменений между рабочими средами, не связанными общим SVN-хранилищем (например, средой разработки и тестовой средой). Обычно пакеты выгружаются со среды разработки, а загружаются в тестовую и промышленную среды. Процесс выгрузки пакетов с помощью утилиты подробно описан в статьях "Выгрузка пакетов из базы данных" и "Выгрузка пакетов из SVN".

Для загрузки пакетов в базу данных необходимо запустить утилиту WorkspaceConsole со следующими значениями параметров (таблица 1):

Табл. 1. — Параметры 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 [Путь к локальному каталогу] Путь к папке, в которой должен находиться лог выполнения указанной операции. Название файла состоит из даты и времени запуска операции.
-webApplicationPath [Путь к локальному каталогу]

Путь к каталогу на диске, в который установлено приложение bpm'online. По этому пути из файла ConnectionStrings.config будет считана информация по соединению с базой данных. Если параметр не указан, то будет установлено соединение с базой данных, указанной в строке соединения в конфигурационном файле утилиты. Если указан — соединение будет установлено с базой данных, указанной в файле ConnectionStrings.config приложения bpm’online.

 

-configurationPath [Путь к локальному каталогу]

Путь к подкаталогу Terrasoft.Configuration в каталоге, в который установлено приложение. Например, C:\bpmonline7.12.2\Terrasoft.WebApp\Terrasoft.Configuration. В этот каталог выгружаются исходные коды и ресурсы схем пользовательских пакетов в режиме разработки в файловой системе.

confRuntimeParentDirectory [Путь к локальному каталогу] Указывает путь к родительскому каталогу для директории conf (см. "Статический клиентский контент в файловой системе" и "Серверный контент в файловой системе"). Как правило директория conf расположена в каталоге Terrasoft.WebApp развернутого приложения. 

Сигнатура команды, которую необходимо выполнить в интерпретаторе команд (консоли) Windows для выполнения операции установки пакетов:

[Путь к WorkspaceConsole]\Terrasoft.Tools.WorkspaceConsole.exe -packageName=[Название пакета] -workspaceName=Default -operation=InstallFromRepository -sourcePath=[Путь к архивам пакетов] -destinationPath=[Путь распаковки пакетов] -skipConstraints=false -skipValidateActions=true -regenerateSchemaSources=true -updateDBStructure=true -updateSystemDBStructure=true -installPackageSqlScript=true -installPackageData=true -continueIfError=true -webApplicationPath=[Путь к каталогу приложения] -confRuntimeParentDirectory=[Путь к каталогу приложения\Terrasoft.WebApp] -logPath=[Путь к логам]

ВАЖНО

Для корректной работы приложения (для версий выше 7.11) после выполнения операции InstallFromRepository необходимо выполнить операцию BuildConfiguration

Операция BuildConfiguration выполняет генерацию статического контента в файловую систему. Используемые параметры: -workspaceName, -destinationPath, -webApplicationPath, -logPath, -force. При значении true параметра -force выполняется генерация контента по всем схемам, а при значении false — только по измененным. Требует указания одного из параметров -webApplicationPath или -configurationPath (см. "Параметры WorkspaceConsole").

ВАЖНО

Поскольку изменения вносятся утилитой WorkspaceConsole напрямую в базу данных, то они не могут быть доступны для уже работающего приложения. Поэтому необходимо перезапустить приложение в IIS.

ВАЖНО

Пакеты, загруженные в приложение с помощью WorkspaceConsole, считаются предустановленными и не могут быть изменены (см. "Структура и состав пакетов").

Особенности загрузки пакетов при включенном режиме разработки в файловой системе

Если WorkspaceConsole используется для загрузки пакетов в приложение, на котором включен режим разработки в файловой системе (fileDesignMode=true), то операция установки пакетов отработает очень неочевидным образом. Исходный код измененных схем поменяется в базе данных, но останется прежним в файловой системе. В связи с этим, если открыть схему в дизайнере, отобразится неизмененный код из файловой системы. При этом дата модификации схемы меняется, что вносит еще большую путаницу, так как складывается ощущение, что перенос схемы прошел корректно.

В связи с этим не рекомендуетcя использование операции InstallFromRepository для переноса изменений на приложения, для которых включен режим разработки в файловой стисеме (fileDesignMode=true). Если все же использование этой операции необходимо, то после ее выполнения нужно выполнить выгрузку исходных кодов в файловую систему действием [Выгрузить пакеты в файловую систему] ([Download packages to file system]).

Пример выполнения загрузки пакета в базу данных

Описание кейса

Для приложения, установленного в каталог C:\bpmonline7.12.4, загрузить пакет sdkBookExample в рабочее пространство Default. Архив с пакетом размещен в каталоге C:\SavedPackages. Содержимое пакета временно распаковать в каталог C:\TempPackages. Лог операции сохранить в каталог C:\Log.

Релизация кейса

Формирование команды запуска утилиты WorkspaceConsole удобно выполнять с помощью любого текстового редактора в файле пакетных команд Windows (*.bat или *.cmd). В этот файл необходимо поместить команду запуска утилиты:

C:\bpmonline7.13.0\Terrasoft.WebApp\DesktopBin\WorkspaceConsole\Terrasoft.Tools.WorkspaceConsole.exe -packageName=sdkBookExample -workspaceName=Default -operation=InstallFromRepository -sourcePath=C:\SavedPackages -destinationPath=C:\TempPackages -skipConstraints=false -skipValidateActions=true -regenerateSchemaSources=true -updateDBStructure=true -updateSystemDBStructure=true -installPackageSqlScript=true -installPackageData=true -continueIfError=true -webApplicationPath=C:\bpmonline7.13.0 -confRuntimeParentDirectory=C:\bpmonline7.13.0\Terrasoft.WebApp -logPath=C:\Log
pause

После сохранения пакетного файла и его запуска на выполнение (двойным кликом из проводника Windows), появится консольное окно, в котором будет отображаться процесс выполнения WorkspaceConsole с заданными значениями параметров (рис. 1).

Рис. 1. — Процесс загрузки пакета в базу данных приложения

В результате выполнения команды в конфигурацию Default приложения будет загружен пакет sdkBookExample (рис. 1).

Рис. 2. — Пакет в разделе [Конфигурация]

© Terrasoft 2002-2019.

Был ли данный материал полезен?

Как можно улучшить эту статью?