Часто так бывает, что при разработке решений на машине разработчика очень не хватает данных, которые есть на боевом сервере. Можно, конечно, создавать всё руками, но это, во-первых, отнимает время, а, во-вторых, не спасает от ошибок, связанных с тем, что в боевой базе несколько иные данные, и пользователи, конечно же, ведут себя совсем не так, как разработчики и аналитики.
Поэтому, для ускорения разработки, и снижения количества ошибок, связанных с неверной оценкой ситуации, есть возможность переноса базы данных (и файлового хранилища) на машину разработчика, с последующим подключением к локальному экземпляру Directum RX.
Предупреждение. Данные действия могут идти вразрез с политикой безопасности клиента, поэтому перед тем как выполнять перенос, уточните у клиента легитимность данного действия.
Подготовимся к переносу:
iisreset /stop && net stop DrxServiceRunner
iisreset /start && net start DrxServiceRunner
<var name="PRIMARY_TENANT" value="" />
Теперь боевой сервер нам больше не понадобится, и все дальнейшие действия мы будем производить на машине разработчика.
iisreset /stop && net stop DrxServiceRunnerLocal
Обратите внимание! Пулы приложений и службы, поставляемые с инструментом разработки, имеют суффкис Local, в то время как "боевые" инсталляции его лишены.
C:\inetpub\wwwroot\DrxServiceRunnerLocal\Conf\DrxStorageServiceLocal_ConfigSettings.xml
меняем параметр STORAGE_PATH на папку хранилища, скопированного с боевого сервера.
<var name="STORAGE_PATH" value="C:\Storage" />
C:\inetpub\wwwroot\DirectumRxLocal\_ConfigSettings.xml
C:\inetpub\wwwroot\DirectumRxWebLocal\api\_ConfigSettings.xml
C:\inetpub\wwwroot\DrxServiceRunnerLocal\Conf\DrxDelayedOperationsServiceLocal_ConfigSettings.xml
C:\inetpub\wwwroot\DrxServiceRunnerLocal\Conf\DrxJobSchedulerLocal_ConfigSettings.xml
C:\inetpub\wwwroot\DrxServiceRunnerLocal\Conf\DrxWorkerLocal_ConfigSettings.xml
C:\inetpub\wwwroot\DrxServiceRunnerLocal\Conf\DrxWorkflowBlockServiceLocal_ConfigSettings.xml
C:\inetpub\wwwroot\DrxServiceRunnerLocal\Conf\DrxWorkflowProcessServiceLocal_ConfigSettings.xml
Меняем строку подключения, чтобы подключаться к восстановленной базе. Также, если, например, вы изначально установили инструмент разработки под MsSQL, а боевая база данных на PostgreSQL - то также смените параметр DATABASE_ENGINE
<var name="DATABASE_ENGINE" value="Postgres" />
C:\inetpub\wwwroot\DrxServiceRunnerLocal\Conf\DrxStorageServiceLocal_ConfigSettings.xml
iisreset /start && net start DrxServiceRunnerLocal
http://localhost/DrxStorageServiceLocal
После чего можно открывать среду разработки, публиковать решения, запускать отладку.
https://club.directum.ru/question/320184#doc320188
Дополнение к п.3: прекрасная, быстрая и с большим набором возможностей много-потоковая БЕСПЛАТНАЯ утилита Windows 10, которая сильно ускоряет синхронизацию файловых хранилищ - robocopy:
robocopy "\\РабСервер\c$\DrxDocs" "C:\DrxDocsCopy" /e /purge /mt:8 /log:c:\temp\drxdocOrg.log
Сергей, можно еще rsync, но не тестил в таком режиме, т.к. копировать ФХ "на лету" та еще лотерея.
После всего перечисленного удалось войти в базу - победа. Но. при попытке запустить фоновый процесс всплывает окно что процесс запущен, но вот в журнале работы процессов записи не появляются - вообще. Ни о запуске ни о прекращении ни о падении. Что еще пропущено в настройках?
Борис, скорее всего не сконфигурирован RabbitMQ.
Станислав, сконфигурирован
Добрый день! Не подскажете? Пересадил базу данных и теперь не могу опубликоваться, пишет "Генерация структуры данных завершилась с ошибкой". Разве в базе данных все необходимые связи между решениями уже не существуют? Публиковать решения по очереди не получится потому что уже слишком разрослась ссылочность на справочники решений соседних решений.
Авторизуйтесь, чтобы написать комментарий