Инструкция по переходу на Реестр бизнес-процессов
⚠️
Внимание: Данная инструкция актуальна, если на стенде были установлены qbpmdesigner и qbpmcockpit. Если указанные сервисы установлены не были и qbpmcockpit устанавливается впервые, переходите к пункту 7.
⚠️
Внимание: Количество времени, затраченное на переход, будет зависеть от размера БД qbpmdesigner
.
⚠️
В таблице q_bpm_product id с 100 по 200 зарезервированы. Данный диапазон не использовать.
Узнать размер мигрируемых таблиц
SELECT SUM(pg_total_relation_size('qbpmdesigner.' || table_name)) / 1024 / 1024 AS "Размер таблиц в МБ"
FROM information_schema.tables
WHERE table_schema = 'qbpmdesigner'
AND table_name IN ('auto_pk_support',
'q_bpm_clob_data',
'q_bpm_product_owner',
'q_bpm_product',
'q_bpm_diagram',
'q_bpm_diagram_comment',
'q_bpm_diagram_comment_read',
'q_bpm_diagram_version',
'q_bpm_diagram_item',
'q_bpm_diagram_item_link',
'q_bpm_diagram_item_req',
'q_bpm_diagram_item_variable',
'q_bpm_diagram_labels',
'q_bpm_diagram_milestone',
'q_bpm_diagram_template',
'q_bpm_diagram_verification',
'q_bpm_diagram_version_protocol',
'q_bpm_diagram_version_res_def',
'q_bpm_favourite_diagram',
'q_bpm_favourite_product',
'q_bpm_label',
'q_bpm_milestone',
'q_bpm_milestone_version',
'q_bpm_milestone_version_link',
'qbpmdesigner_access',
'qbpmdesigner_access_right',
'qbpmdesigner_api',
'qbpmdesigner_api_attribute',
'qbpmdesigner_attribute',
'qbpmdesigner_event',
'qbpmdesigner_event_attribute',
'qbpmdesigner_participant',
'qbpmdesigner_pbc',
'qbpmdesigner_role',
'qbpmdesigner_role_access',
'qbpmdesigner_test_value_set',
'qhprj_healthproject',
'qhprj_healthprojectitem',
'qhprj_healthprojectpublish',
'qhprj_projectgrouptpstate',
'rights_cacheid');
Порядок действий для перехода на Реестр бизнес-процессов
- Выключите
qbpmdesigner
иqbpmcockpit
на стенде. - При наличии технической возможности снимите дамп мигрируемых таблиц
qbpmdesigner
. - Пересоздайте Job
database-qbpmcockpit
, указав образregistry-new.diasoft.ru/release/database-qbpmcockpit:versionTag
. Дождитесь успешного выполнения проливкиdatabase-qbpmcockpit
. - Обновите
qbpmcockpit
до версииregistry-new.diasoft.ru/release/qbpmcockpit:versionTag
. - Выполните миграцию таблиц, убедившись в отсутствии ошибок в процессе работы скрипта:
TRUNCATE TABLE qbpmcockpit.auto_pk_support;
INSERT INTO qbpmcockpit.auto_pk_support SELECT * FROM qbpmdesigner.auto_pk_support;
INSERT INTO qbpmcockpit.q_bpm_clob_data SELECT * FROM qbpmdesigner.q_bpm_clob_data;
INSERT INTO qbpmcockpit.q_bpm_owner SELECT * FROM qbpmdesigner.q_bpm_product_owner;
INSERT INTO qbpmcockpit.q_bpm_product SELECT * FROM qbpmdesigner.q_bpm_product;
INSERT INTO qbpmcockpit.q_bpm_diagram SELECT * FROM qbpmdesigner.q_bpm_diagram;
INSERT INTO qbpmcockpit.q_bpm_diagram_comment SELECT * FROM qbpmdesigner.q_bpm_diagram_comment;
INSERT INTO qbpmcockpit.q_bpm_diagram_comment_read SELECT * FROM qbpmdesigner.q_bpm_diagram_comment_read;
INSERT INTO qbpmcockpit.q_bpm_diagram_version SELECT * FROM qbpmdesigner.q_bpm_diagram_version;
INSERT INTO qbpmcockpit.q_bpm_diagram_item SELECT * FROM qbpmdesigner.q_bpm_diagram_item;
INSERT INTO qbpmcockpit.q_bpm_diagram_item_link SELECT * FROM qbpmdesigner.q_bpm_diagram_item_link;
INSERT INTO qbpmcockpit.q_bpm_diagram_item_req SELECT * FROM qbpmdesigner.q_bpm_diagram_item_req;
INSERT INTO qbpmcockpit.q_bpm_diagram_item_variable SELECT * FROM qbpmdesigner.q_bpm_diagram_item_variable;
INSERT INTO qbpmcockpit.q_bpm_diagram_labels SELECT * FROM qbpmdesigner.q_bpm_diagram_labels;
INSERT INTO qbpmcockpit.q_bpm_diagram_milestone SELECT * FROM qbpmdesigner.q_bpm_diagram_milestone;
INSERT INTO qbpmcockpit.q_bpm_diagram_template SELECT * FROM qbpmdesigner.q_bpm_diagram_template;
INSERT INTO qbpmcockpit.q_bpm_diagram_verification SELECT * FROM qbpmdesigner.q_bpm_diagram_verification;
INSERT INTO qbpmcockpit.q_bpm_diagram_version_protocol SELECT * FROM qbpmdesigner.q_bpm_diagram_version_protocol;
INSERT INTO qbpmcockpit.q_bpm_diagram_version_res_def SELECT * FROM qbpmdesigner.q_bpm_diagram_version_res_def;
INSERT INTO qbpmcockpit.q_bpm_favourite_diagram SELECT * FROM qbpmdesigner.q_bpm_favourite_diagram;
INSERT INTO qbpmcockpit.q_bpm_favourite_product SELECT * FROM qbpmdesigner.q_bpm_favourite_product;
INSERT INTO qbpmcockpit.q_bpm_label SELECT * FROM qbpmdesigner.q_bpm_label;
INSERT INTO qbpmcockpit.q_bpm_milestone SELECT * FROM qbpmdesigner.q_bpm_milestone;
INSERT INTO qbpmcockpit.q_bpm_milestone_version SELECT * FROM qbpmdesigner.q_bpm_milestone_version;
INSERT INTO qbpmcockpit.q_bpm_milestone_version_link SELECT * FROM qbpmdesigner.q_bpm_milestone_version_link;
INSERT INTO qbpmcockpit.qbpmdesigner_access SELECT * FROM qbpmdesigner.qbpmdesigner_access;
INSERT INTO qbpmcockpit.qbpmdesigner_access_right SELECT * FROM qbpmdesigner.qbpmdesigner_access_right;
INSERT INTO qbpmcockpit.qbpmdesigner_pbc SELECT * FROM qbpmdesigner.qbpmdesigner_pbc;
INSERT INTO qbpmcockpit.qbpmdesigner_api SELECT * FROM qbpmdesigner.qbpmdesigner_api;
INSERT INTO qbpmcockpit.qbpmdesigner_attribute SELECT * FROM qbpmdesigner.qbpmdesigner_attribute;
INSERT INTO qbpmcockpit.qbpmdesigner_api_attribute SELECT * FROM qbpmdesigner.qbpmdesigner_api_attribute;
INSERT INTO qbpmcockpit.qbpmdesigner_event SELECT * FROM qbpmdesigner.qbpmdesigner_event;
INSERT INTO qbpmcockpit.qbpmdesigner_event_attribute SELECT * FROM qbpmdesigner.qbpmdesigner_event_attribute;
INSERT INTO qbpmcockpit.qbpmdesigner_participant SELECT * FROM qbpmdesigner.qbpmdesigner_participant;
INSERT INTO qbpmcockpit.qbpmdesigner_role SELECT * FROM qbpmdesigner.qbpmdesigner_role;
INSERT INTO qbpmcockpit.qbpmdesigner_role_access SELECT * FROM qbpmdesigner.qbpmdesigner_role_access;
INSERT INTO qbpmcockpit.qbpmdesigner_test_value_set SELECT * FROM qbpmdesigner.qbpmdesigner_test_value_set;
INSERT INTO qbpmcockpit.qhprj_healthproject SELECT * FROM qbpmdesigner.qhprj_healthproject;
INSERT INTO qbpmcockpit.qhprj_healthprojectitem SELECT * FROM qbpmdesigner.qhprj_healthprojectitem;
INSERT INTO qbpmcockpit.qhprj_healthprojectpublish SELECT * FROM qbpmdesigner.qhprj_healthprojectpublish;
INSERT INTO qbpmcockpit.qhprj_projectgrouptpstate SELECT * FROM qbpmdesigner.qhprj_projectgrouptpstate;
INSERT INTO qbpmcockpit.rights_cacheid SELECT * FROM qbpmdesigner.rights_cacheid;
- Выполните обновление таблиц продуктов, убедившись в отсутствии ошибок в процессе работы скрипта:
UPDATE q_bpm_product
SET parent_id = (select id from q_bpm_product where system_name = 'StandardProcess')
WHERE parent_id IS NULL AND "type" != 4 AND system_name != 'StandardProcess' AND system_name != 'PersonalDrafts' AND system_name != 'ClientProcess';
UPDATE q_bpm_product
SET "path" = concat((select id from q_bpm_product where system_name = 'StandardProcess'), '.', "path")
WHERE parent_id IS NOT NULL
AND "type" != 4
AND "path" NOT LIKE concat((select id from q_bpm_product where system_name = 'StandardProcess'), '.%')
AND "path" NOT LIKE concat((select id from q_bpm_product where system_name = 'PersonalDrafts'), '.%')
AND "path" NOT LIKE concat((select id from q_bpm_product where system_name = 'ClientProcess'), '.%')
- Обновите версию
qbpmui
до актуальнойregistry-new.diasoft.ru/release/qbpmui:versionTag
. - Если пункты меню Дизайнер бизнес-процессов и Мониторинг бизнес-процессов используются в своем рутовом приложении:
- Измените endpoint
"service": "qbpmdesigner"
и"service": "qbpmcockpit"
на"service": "qcui"
. - Добавьте раздел Реестр бизнес-процессов.
- Измените endpoint
- Пример раздела "Реестр бизнес-процессов"
{
"caption": "Реестр бизнес-процессов",
"expanded": false,
"icon": "pi-list",
"items": [
{
"caption": "Бизнес-процессы и правила",
"service": "qbprui",
"component": "qbprui",
"route": "/diagram",
"icon": "qi-cubes-outlined"
}
]
}
- Установите актуальные версии
qcui
иqbprui
. - Включите
qbpmcockpit
. - Проверьте работоспособность новых пунктов меню в рутовом приложении.