Миграция через командную строку¶
При работе с переносом конфигурации из консоли используется исполняемый файл TCModuleMigrationUtility.exe. Файл должен запускаться с правами администратора.
Примеры запуска из консоли¶
Экспорт¶
В командной строке указываются все аргументы:
TCModuleMigrationUtility.exe -m export -fin "D:\Test\test.json" -fout "D:\Test\test.zip" -cn "Data Source=Test;Initial Catalog=Test;Persist Security Info=True;User ID=test;Password=test;Max Pool Size=2500;MultipleActiveResultSets=false"
В командной строке указываются обязательные аргументы, строка подключения — в отдельном файле:
TCModuleMigrationUtility.exe -m export -cnf exportConnectionString.txt
Импорт¶
В командной строке указываются все аргументы:
TCModuleMigrationUtility.exe -m import -fin "D:\Test\test.zip" -fout "D:\Test\test.log" -cn "Data Source=Test;Initial Catalog=Test;Persist Security Info=True;User ID=test;Password=test;Max Pool Size=2500;MultipleActiveResultSets=false" -ioki true
В командной строке указываются обязательные аргументы:
TCModuleMigrationUtility.exe -m import -cn "Data Source=Test;Initial Catalog=Test;Persist Security Info=True;User ID=test;Password=test;Max Pool Size=2500;MultipleActiveResultSets=false"
В командной строке указываются обязательные аргументы, строка подключения — в отдельном файле:
TCModuleMigrationUtility.exe -m import -fin 123.zip -cnf importConnectionString.txt -ioki true -iod true
Импорт без сохранения идентификаторов (dev→prod с расхождением ID):
TCModuleMigrationUtility.exe -m import -fin data.zip -cn "Data Source=Prod;Initial Catalog=D10Task;..." -iowki true -iod true
Импорт как новые сущности:
TCModuleMigrationUtility.exe -m import -fin data.zip -cn "Data Source=Prod;Initial Catalog=D10Task;..." -inpk true -iod true
Ключи¶
| Ключ | Обязательность | Описание |
|---|---|---|
-m |
обязателен | Режим работы. Доступные значения: export, import |
-fin |
не обязателен | Путь для чтения входящего файла. При импорте — zip-файл, созданный при экспорте (по умолчанию: <путь до исполняемого файла>/ModuleMigrationFiles/module.zip). При экспорте — json-файл со словарём "ключ — значение", где ключ — имя таблицы из БД, а значение — массив GUID нужных сущностей (по умолчанию: <путь до исполняемого файла>/ModuleMigrationFiles/module.json) |
-fout |
не обязателен | Путь для записи исходящего файла. При импорте — log-файл с логами выполнения (по умолчанию: <путь до исполняемого файла>/ModuleMigrationFiles/module.log). При экспорте — zip-файл с экспортируемыми данными (по умолчанию: <путь до исполняемого файла>/ModuleMigrationFiles/module.zip) |
-cn |
обязателен один из -cn / -cnf; если заданы оба — применяется тот, что указан последним |
Строка подключения к базе данных |
-cnf |
обязателен один из -cn / -cnf |
Файл со строкой подключения к базе данных. Рекомендуемый формат — .txt |
-ioki |
не обязателен (по умолчанию false) |
Импорт с сохранением идентификаторов. Только при импорте |
-iowki |
не обязателен (по умолчанию false) |
Импорт без сохранения идентификаторов (ImportWithoutKeepIdentity). Сущности сопоставляются по GUID: существующие обновляются с сохранением ID приёмника, новые вставляются с ID от генератора приёмника. После импорта выполняется замена ID в SmartExpressions и ремап JSON-ссылок в порталах. Только при импорте. Взаимоисключающий с -ioki. Подробности: import-modes.md |
| -inpk | не обязателен (по умолчанию false) | Импортировать как новые сущности (ImportAsNewData). Все сущности вставляются с новыми GUID и ID от генератора БД приёмника. Полная копия без привязки к ID источника. Только при импорте. Взаимоисключающий с -ioki. |
| -iod | не обязателен | Включение/отключение денормализации после импорта |
| -iodcf | не обязателен | Признак "Отключить констрейнты" |
| -iondec | не обязателен | Признак "Не отключать и не включать констрейнты" |
При импорте в режиме без сохранения ID система автоматически пересчитывает ссылки в смарт-правилах (
EventsActions.ParameterValue) — значения переходов, ДП и других переносимых сущностей заменяются на соответствующие ID целевой базы.
Задача: 1947030.
Пример значения json-файла для экспорта (две категории и один портал):
{
"subcategories": [
"ff03dc0f-35ca-e911-83a7-00c2c6572c8f",
"ceb02222-35ca-e911-83a7-00c2c6572c8f"
],
"portalGridTemplates": [
"172b7c04-f4c7-e911-83a5-fcaa14202279"
]
}
Цвет сообщений¶
| Цвет | Типы сообщений | Описание |
|---|---|---|
| серый | trace, info | Информационные сообщения, означают корректную работу программы |
| жёлтый | warning | Предупреждающие сообщения, означают, что программа работает корректно, но есть сообщения, на которые нужно обратить внимание |
| красный | error | Сообщения, содержащие ошибки; означают, что программа работает некорректно и остановлена с ошибкой |