Загрузка пакетов в базу данных
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 | [Путь к локальному каталогу] | Путь к папке, в которой должен находиться лог выполнения указанной операции. Название файла состоит из даты и времени запуска операции. |
Сигнатура команды, которую необходимо выполнить в интерпретаторе команд (консоли) 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 -logPath=[Путь к логам]
ВАЖНО Поскольку изменения вносятся утилитой WorkspaceConsole напрямую в базу данных, то они не могут быть доступны для уже работающего приложения. Поэтому необходимо перезапустить приложение в IIS. |
ВАЖНО Пакеты, загруженные в приложение с помощью WorkspaceConsole, считаются предустановленными и не могут быть изменены (см. "Структура и состав пакетов"). |
Пример выполнения загрузки пакета в базу данных
Описание кейса
Для приложения, установленного в каталог C:\bpmonline7.9.2, загрузить пакет userPackage в рабочее пространство Default. Архив с пакетом размещен в каталоге C:\SavedPackages. Содержимое пакета временно распаковать в каталог C:\TempPackages. Лог операции сохранить в каталог C:\Log.
Релизация кейса
Формирование команды запуска утилиты WorkspaceConsole удобно выполнять с помощью любого текстового редактора в файле пакетных команд Windows (*.bat или *.cmd). В этот файл необходимо поместить команду запуска утилиты:
C:\bpmonline7.9.2\Terrasoft.WebApp\DesktopBin\WorkspaceConsole\Terrasoft.Tools.WorkspaceConsole.exe -packageName=userPackage -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 -logPath=C:\Log
pause
После сохранения пакетного файла и его запуска на выполнение (двойным кликом из проводника Windows), появится консольное окно, в котором будет отображаться процесс выполнения WorkspaceConsole с заданными значениями параметров (рис. 1).
Рис. 1. — Процесс загрузки пакета в базу данных приложения
В результате выполнения команды в конфигурацию Default приложения будет загружен пакет userPackage (рис. 1).
Рис. 2. — Пакет userPackage в разделе [Конфигурация]