Данная утилита - следующее развитие утилиты SolutionConsole, но уже под пакеты версии 7.0
Функциональность
При запуске данной утилиты необходимо указать корректную строку подключения (WorkspaceConsole.exe.Config, секция general атрибут connectionStringName). Имена параметров командной строки не регистрочувствительные. Доступны следующие параметры командной строки:
help
Выводит списком все параметры, если указаны при запуске утилиты другие параметры, то они игнорирутся
userName
Имя пользователя для авторизации. Обязательный
userPassword
Пароль пользователя для авторизации. Необязательный
operation
Операция, которую необходимо выполнить. Обязательный. Значения могут быть следующими:
- BuildFromSvn - выполняется 5 действий: очищается рабочее пространство, загружаются из svn последние метаданные локально на диск, далее загружаются в базу данных, перегенерируются исходники и компилируется сборка. Два последних действия вынесены в отдельную операцию - RegenerateSchemaSources
- InstallFromSvn - выполняется 7 действий: компилируется текущее рабочее пространство, загружаются из svn последние метаданные локально на диск, далее загружаются в базу данных,перегенерируются исходники, компилируется сборка, обновляется структура объектов в базе данных, инсталлируются данные, привязанные к пакету
- BuildFromRepository - выполняется 5 действий: очищается рабочее пространство, загружаются из zip-архива метаданные, далее загружаются в базу данных, перегенерируются исходники и компилируется сборка. Два последних действия вынесены в отдельную операцию - RegenerateSchemaSources
- InstallFromRepository – выполняется 7 действий: компилируется текущее рабочее пространство, загружаются из zip-архива метаданные, далее загружаются в базу данных, перегенерируются исходники, компилируется сборка, обновляется структура объектов в базе данных, инсталлируются данные, привязанные к пакету.
- LoadLicResponse - загружает лицензии в базу данных, указанную в строке подключения. Единственная операция, которая не требует имя рабочего пространства
- DisableTrackChanges - отключаются журналирование у всех схем объектов. Необходимо для автосборки, так как по умолчанию у нас нет в "чистой" базе данных схем, которые журналируются
- SaveWorkspaceContent - работает в комбинации с параметром contentTypes. Если оно содержит Data, то сохраняются в папку destinationPath данные всех схем в формате json, если - LocalizableData, то сохраняются в формате xml данные схем объектов (необходимо для локализации конфигурации), если - Resources, то выгружаются ресурсы схем в формате xml (так же необходимо для локализации, но уже самых схем объектов)
- LoadWorkspaceContent - аналогично SaveWorkspaceContent, но не сохраняет в папку destinationPath файлы, а загружает их в рабочее пространст
- RegenerateSchemaSources - выполняются 2 действия: перегенерируются исходники и компилируется сборка
- SaveEntitySchemaReferences - пересохраняются все связи схем объектов. Необходимо для локализации таблицы SysEntitySchemaRefe
- ClearAllWorkspaces - очистка всех рабочих пространств
- DeleteWorkspaces - удаление рабочих пространств
workspaceName
Имя рабочего пространства. Для операции DeleteWorkspaces может принимать значение в виде нескольких имен указанных через запятую.
Необязательный для одной операции - LoadLicResponse.
packageName
Имя пакета, из рабочего пространства (параметр workspaceName), который будет использоваться для операций BuildFromRepository и SaveWorkspaceContent. Важно, что будут так же задействованы все пакеты, от которых он зависит. Необязательный. Если он не указан, то будут задействованы все пакеты рабочего пространства.
Важно! Имя пакета регистрозависимое
repositoryUri
Адрес репозитария (svn) для хранения метаданных пакетов. Необязательный. Если он не пустой, то перекрывает аналогичное свойство рабочего пространства, указанного в параметре workspaceName
workingCopyPath
Локальная папка для хранения метаданных пакетов. Необязательный. Если он не пустой, то перекрывает аналогичное свойство рабочего пространства, указанного в параметре workspaceName
sourceControlLogin
Имя пользователя для доступа к репозитарию. Необязательный. Если он не пустой, то перекрывает аналогичное свойство текущего пользователя, указанного в параметре userName
sourceControlPassword
Пароль пользователя для доступа к репозитарию. Необязательный. Если он не пустой, то перекрывает аналогичное свойство текущего пользователя, указанного в параметре userName
contentTypes
Типы наполнения. Обязательный для операций SaveWorkspaceContent и LoadWorkspaceContent. Значения могут быть следующими:
- SystemData - данные системных схем в формате json для переноса на другую СУБД. Выгружаются все системные схемы (все колонки), дополнительно ограниченные параметром exludedSchemas.
- ConfigurationData - данные конфигурационных схем в формате json для переноса на другую СУБД. Выгружаются все конфигурационные схемы (все колонки), дополнительно ограниченные параметром exludedSchemas.
- Data - данные всех схем (системные и конфигурационные) в формате json для переноса на другую СУБД. Сначала утилита работает с системными схемами, потом с конфигурационными. Выгружаются все схемы (все колонки), дополнительно ограниченные параметром exludedSchemas
- Resources - ресурсы конфигурационных схем для локализации в формате xml
- LocalizableData - наполнение конфигурационных схем для локализации в формате xml. Выгружаются только текстовые колонки, дополнительно ограниченные параметрами exludedSchemas и excludedSchemaColumns
- Repository - данные рабочего пространства в формате zip
- All - объединяет все предыдущие типы
sourcePath
Путь к локальной папке на диске для данных источника. Обязательный параметр для операций LoadLicResponse, LoadWorkspaceContent, BuildFromRepository
destinationPath
Путь к локальной папке на диске для данных приемника. Обязательный параметр для операций SaveWorkspaceContent, BuildFromRepository
fileName
Имя файла. Обязательный параметр для операций LoadLicResponse, SaveWorkspaceContent, LoadWorkspaceContent
excludedSchemas
Имена схем, которые исключаются при операции SaveWorkspaceContent. Необязательный
excludedSchemaColumns
Имена колонок схем, которые исключаются при операции SaveWorkspaceContent. Необязательный
includedSchemas
Имена схем, которые принудительно используются при операции SaveWorkspaceContent. Необязательный
includedSchemaColumns
Имена колонок схем, которые принудительно используются при операции SaveWorkspaceContent. Необязательный
сultureName
Код культуры. Обязательный если используется параметр contentTypes: Resources и/или LocalizableData
schemaManagerNames
Имена менеджеров схем, которые используются для операций SaveWorkspaceContent, RegenerateSchemaSources, SaveEntitySchemaReferences. Необязательный. Для contentTypes.Data, contentTypes.LocalizableData и операции SaveEntitySchemaReferences, заполняется по умолчанию "EntitySchemaManager"
clearWorkspaceBeforeUpdate
Указывает на необходимость очистки рабочего пространства перед обновлением. Используется для операций: BuildFromSvn и BuildFromRepository. Принимает значения: true, false. По умолчанию имеет значение true.
Примеры использования
Примеры использования утилиты для решения наиболее распространенных задач
Создание рабочего пространства из SVN-репозитория
Terrasoft.Tools.WorkspaceConsole.exe -userName=Supervisor -userPassword=Supervisor -workspaceName=Default -operation=BuildFromSvn -sourceControlLogin=[Имя пользователя для SVN] -sourceControlPassword=[Пароль пользователя для SVN] -RepositoryUri=http://tscoredev5:8050/svn/ts5conf/Product/trunk -workingCopyPath=D:\WorkingCopyDirectory
Установка из SVN-репозитория в существующее рабочее пространство(с установкой данных, привязанных к пакетам в .SVN)
Terrasoft.Tools.WorkspaceConsole.exe -userName=Supervisor -userPassword=Supervisor -workspaceName=Default -operation=BuildFromSvn -sourceControlLogin=[Имя пользователя для SVN] -sourceControlPassword=[Пароль пользователя для SVN] -RepositoryUri=http://tscoredev5:8050/svn/ts5conf/Product/trunk -workingCopyPath=D:\WorkingCopyDirectory
workingCopyPath=D:\WorkingCopyDirectory
Создание рабочего пространства из репозитория (zip-архив)
Terrasoft.Tools.WorkspaceConsole.exe -userName=Supervisor -userPassword=Supervisor -workspaceName=Default -operation=BuildFromRepository -sourcePath=d:\Temp\Repository\ -destinationPath=D:\Temp\Destination\
Установка из репозитория (zip-архив) в существующее рабочее пространство(с установкой данных, привязанных к пакетам в .zip)
Terrasoft.Tools.WorkspaceConsole.exe -userName=Supervisor -userPassword=Supervisor -workspaceName=Default -operation=BuildFromRepository -sourcePath=d:\Temp\Repository\ -destinationPath=D:\Temp\Destination\
Загрузка лицензий в БД
Terrasoft.Tools.WorkspaceConsole.exe -userName=Supervisor -userPassword=Supervisor -workspaceName=Default -sourcePath=..\..\Src\Lib\AutoBuild\Licenses -Operation=LoadLicResponse -fileName=TSCoreBuild5Agent.tls
Выгрузка ресурсов схем для локализации
Terrasoft.Tools.WorkspaceConsole.exe -userName=Supervisor -userPassword=Supervisor -workspaceName=Default -operation=SaveWorkspaceContent -destinationPath=D:\Temp\Resources\ -contentTypes=Resources -fileName=Resources.xml -cultureName=ru-RU
Выгрузка наполнения конфигурационных схем для локализации
Terrasoft.Tools.WorkspaceConsole.exe -userName=Supervisor -userPassword=Supervisor -workspaceName=Default -operation=SaveWorkspaceContent -destinationPath=D:\Temp\Resources\ -contentTypes=LocalizableData -fileName=LocalizableData.xml -cultureName=ru-RU
Загрузка локализированных ресурсов схем в БД
Terrasoft.Tools.WorkspaceConsole.exe -userName=Supervisor -userPassword=Supervisor -workspaceName=Default -operation=LoadWorkspaceContent -sourcePath=D:\Temp\Resources\ -contentTypes=Resources -fileName=Resources.en.xml cultureName=en-GB
Загрузка наполнения конфигурационных схем в БД
Terrasoft.Tools.WorkspaceConsole.exe -userName=Supervisor -userPassword=Supervisor -workspaceName=Default -operation=LoadWorkspaceContent -sourcePath=D:\Temp\Resources\ -contentTypes=LocalizableData -fileName=LocalizableData.en.xml -cultureName=en-GB
Выгрузка рабочего пространства в репозиторий (zip-архив)
Terrasoft.Tools.WorkspaceConsole.exe -userName=Supervisor -userPassword=Supervisor -workspaceName=Default -operation=SaveWorkspaceContent -contentTypes=Repository -destinationPath=D:\Temp\Repository\ -workingCopyPath=D:\Temp\Source\ -repositoryUri=http://tscoredev5:8050/svn/ts5conf/Product/trunk -sourceControlLogin=[Имя пользователя для SVN] -sourceControlPassword=[Пароль пользователя для SVN]
Загрузка из репозитория (zip-архив) в рабочее пространство
Terrasoft.Tools.WorkspaceConsole.exe -userName=Supervisor -userPassword=Supervisor -workspaceName=Default -operation=LoadWorkspaceContent -contentTypes=Repository -sourcePath=d:\Temp\Repository\ -destinationPath=D:\Temp\Destination\
Важно! После загрузки необходимо выполнить операцию RegenerateSchemaSources
Перегенерация исходников всех схем и компиляция рабочего пространства
Terrasoft.Tools.WorkspaceConsole.exe -userName=Supervisor -userPassword=Supervisor -workspaceName=Default -operation=RegenerateSchemaSources
Установка обновлений клиенту из репозитория(zip-архив) в существующее рабочее пространство
Важно! Перед выполнением команды необходимо сделать копию БД клиента. Если в процессе обновления произойдет ошибка, есть большой риск, что повторно выполнить команду не получиться. Утилиту следует запускать после обновления бинарных файлов самого приложения
Terrasoft.Tools.WorkspaceConsole.exe -userName=Supervisor -userPassword=Supervisor -packageName=NUI -workspaceName=Default -operation=InstallFromRepository -sourcePath=\\tscoredev5\Versions70\7.0.0\7.0.0.167\CRM_Softkey_RUS\Packages\ -destinationPath=c:\Temp\Destination\
-packageName: возможны 2 варианта значений, для SoftKey приложений это имя пакета "NUI", для демо приложений имя пакета "Demo".
-destinationPath: путь к временной директории
Удаление рабочих пространств
Terrasoft.Tools.WorkspaceConsole.exe -operation=DeleteWorkspaces -workspaceName=WorkspaceName1,WorkspaceName2,WorkspaceName3