Pytania do klienta przed wyrównaniem:
- Czy przenosimy Archiwum?
- Czy maile użytkowników powinny być ustawione tak jak na prod?
Checklista migracji środowiska produkcyjnego → testowego
Dokument opisuje kroki niezbędne do bezpiecznego przeniesienia backupu bazy produkcyjnej na serwer testowy w systemie PlusWorkflow, tak aby środowisko testowe nie wchodziło w interakcję z realnymi danymi/usługami produkcyjnymi.
1. Zadania zaplanowane (Scheduled Tasks / RPA)
Tabele:pm_scheduled_tasks, pm_scheduled_tasks_parameters, pm_scheduled_tasks_history, pm_scheduled_tasks_component, pm_scheduled_tasks_category, pm_rpa_configs, pm_rpa_scripts, pm_rpa_workers_history
Sposób wykonania: Zaraz po przeniesieniu backupu bazy produkcyjnej na serwer testowy — jeszcze przed uruchomieniem serwera testowego — wyłączyć wszystkie zaplanowane zadania:
| Nr | Typ bazy | Zapytanie |
|---|---|---|
| 1 | Mssql | update PM_SCHEDULED_TASKS set name=name+'_disabled', is_active='0' where is_active='1' |
| 2 | Postgres | update PM_SCHEDULED_TASKS set name=name||'_disabled', is_active='0' where is_active='1' |
⚠️ Ważne: wyłącz wszystkie zadania natychmiast po imporcie bazy, zanim cokolwiek zostanie uruchomione.
_disabled.Docelowo po przejściu całej instrukcji należy przywrócić konfigurację zadań zgodnie ze stanem środowiska sprzed zrównania. Docelowo aktywne powinny pozostać wyłącznie te zadania, które były uruchomione na danym środowisku przed importem bazy. Przykład: jeżeli przed zrównaniem na środowisku testowym aktywne były zadania OCR, po imporcie bazy docelowo chcemy, aby też one działały(po przejściu całej instrukcji).
2. Konfiguracja parametrów systemowych
Sposób wykonania: Dane dotyczące parametrów systemowych są przechowywane w tabeli pm_systemparameter. Po wyrównaniu środowiska podmienić na wartości odpowiadające systemowi test:
| Nr | Nazwa | Uwagi |
|---|---|---|
| 1 | HTTPLink | np. Przykład: |
| 2 | WorkingDirectory | np. na C:\Suncode\PlusWorkflow-TEST\Home\temp |
| 3 | SystemType | np. na Test |
3. Konfiguracja skrzynek pocztowych i powiadomień
Lokalizacja:Administracja → Konfiguracja systemu → Konfiguracja skrzynek pocztowych
Sposób wykonania: Podmienić konta pocztowe pochodzące z wersji produkcyjnej na konta testowe — w każdym przypadku, gdy środowisko testowe ma korzystać z innych skrzynek niż produkcja.
- Sprawdź skrzynki odbiorcze skonfigurowane do odbierania poczty przychodzącej (np. e-faktury,
pm_efaktura_email_from) — jeśli DEV podłącza się do prawdziwej skrzynki produkcyjnej (IMAP/POP3), odłącz i podmień na skrzynkę testową, aby uniknąć oznaczania/usuwania maili produkcyjnych. - Zweryfikuj adresy „From"/„Reply-To", aby ewentualne odpowiedzi nie trafiały na skrzynki produkcyjne.
4. Pliki konfiguracyjne/wdrożeniowe i systemowe
Sposób wykonania: Podmiana plików na serwerze.
| Element | Co sprawdzić |
|---|---|
Katalog wtyczek (/home/plusworkflow/plusworkflow-prod-home/data/plugins) | Przenieść zawartość katalogu wtyczek z produkcji na środowisko testowe |
| Mapy procesów | Przenieść pliki xpdl zgodnie ze strukturą instalacji (np. C:\Suncode\Plusworkflow\Home\system\XPDL) z produkcji na test |
| Szablony powiadomień i szablony dokumentów | Przenieść pliki z prod na test zgodnie z ścieżkami w pm_documenttemplate i pm_notificationdef |
Jeśli jest potrzeba wyrównania Tomcat dodatkowo:
| Element | Co sprawdzić |
|---|---|
Tomcat ($CATALINA_HOME/conf/server.xml, context.xml, catalina.properties) | Porty nasłuchu, connectory, aliasy hostów, ewentualne przekierowania wskazujące na domenę produkcyjną |
$CATALINA_HOME/bin/setenv.sh | Zmienne środowiskowe/JVM (JAVA_OPTS, CATALINA_OPTS) mogą zawierać zaszyte na sztywno adresy URL, hasła lub connection stringi produkcyjne |
Zmienne środowiskowe / pliki .env | Używane przez ewentualne mikroserwisy/skrypty towarzyszące (np. RPA, integracje własne Suncode) |
| Certyfikaty i klucze | SSL w server.xml/keystore Tomcata, podpisy dla integracji SAP/EDI — potwierdź, że DEV nie korzysta z tych samych aktywnych kluczy produkcyjnych, jeśli miałoby to skutkować realnymi transakcjami |
| Logi aplikacyjne po imporcie | $CATALINA_HOME/logs/catalina.out, localhost.*.log — wyczyść/zrotuj, aby nie mylić logów sprzed migracji z nowymi |
5. Zmiany w bazie danych
Ścieżki do katalogów, dokumentów i plików
Tabele:pm_devices, pm_docclasses, pm_files, pm_documenttemplate, pm_notificationdef, pm_reports
Sposób wykonania: Zaktualizować wszystkie ścieżki systemowe, zastępując wartość produkcyjną odpowiednikiem testowym. Przy kopiowaniu bazy danych i zmianie ścieżki należy zawsze sprawdzić z poziomu serwera, czy wskazany docelowy katalog fizycznie istnieje.
-- Ścieżki do katalogów systemu (urządzeń)
SELECT * FROM pm_devices;
UPDATE pm_devices SET devicepath = replace(devicepath, 'stara wartosc', 'nowa wartosc');
-- Klasy dokumentów
SELECT * FROM pm_docclasses;
UPDATE pm_docclasses SET docclassindexpath = replace(docclassindexpath, 'stara wartosc', 'nowa wartosc');
-- Ścieżki do fizycznych plików zapisanych w systemie
SELECT * FROM pm_files;
UPDATE pm_files SET path = replace(path, 'stara wartosc', 'nowa wartosc');
-- Szablony dokumentów
SELECT * FROM pm_documenttemplate;
UPDATE pm_documenttemplate SET templatepath = replace(templatepath, 'stara wartosc', 'nowa wartosc');
-- Definicje powiadomień
SELECT * FROM pm_notificationdef;
UPDATE pm_notificationdef SET templatepath = replace(templatepath, 'stara wartosc', 'nowa wartosc');
-- Raporty
SELECT * FROM pm_reports;
UPDATE pm_reports SET reportdefinitionpath = replace(reportdefinitionpath, 'stara wartosc', 'nowa wartosc');Zewnętrzne bazy danych i konfiguracja widoków/tabel zewnętrznych
Tabele:PM_VCOLUMNS, PM_VTABLES, PM_VTYPES, PM_VVALUES, pm_externaldb_conf
Sposób wykonania: Zaktualizować ustawienia dla zewnętrznych źródeł danych, w tym podmienić konfigurację tabel, kolumn i ich typów odnoszących się do systemów produkcyjnych.
-- Konfiguracja tabel zewnętrznych
SELECT * FROM PM_VCOLUMNS;
UPDATE PM_VCOLUMNS SET value = replace(value, 'stara wartosc', 'nowa wartosc');
SELECT * FROM PM_VTABLES;
UPDATE PM_VTABLES SET value = replace(value, 'stara wartosc', 'nowa wartosc');
SELECT * FROM PM_VTYPES;
UPDATE PM_VTYPES SET value = replace(value, 'stara wartosc', 'nowa wartosc');
SELECT * FROM PM_VVALUES;
UPDATE PM_VVALUES SET value = replace(value, 'stara wartosc', 'nowa wartosc');
-- Weryfikacja połączeń zewnętrznych baz danych
SELECT * FROM pm_externaldb_conf;⚠️ Ważne — tabela dbex_alias: przed wyrównaniem środowiska sprawdzić, jakie bazy zewnętrzne były podłączone, i nie podłączać baz produkcyjnych do środowiska testowego.
-- Sprawdzenie aktualnie podłączonych aliasów baz zewnętrznych
SELECT * FROM dbex_alias;
-- Podmiana bazy produkcyjnej na testową
UPDATE dbex_alias
SET db_catalog = '<test_external_database_name>'
WHERE db_catalog = '<prod_external_database_name>';
6. Konfiguracja wtyczek i modułów
eFaktura, KSeF, OCR, Directory Monitor, Barcode Reader. W takim przypadku należy przywrócić dotychczasowe konfiguracje z systemu testowego.
Należy zwrócić uwagę czy występują wtyczki
Jeśli występował projekt kliencki we wtyczce do Automatycznych aktualizacji należy go przywrócić zgodnie z tym co było dotychczas.
Dodatkowo dla DBExplorer, Plus E-faktura, PO Module potrzebne są poniższe zmiany.
Tabele:pm_modules_dbexplorer_cfg, pm_plusefaktura_license, pm_po_module
Sposób wykonania: Podmienić konfiguracje i ścieżki specyficzne dla używanych modułów (licencje, powiązane tabele per wtyczka).
-- DBExplorer (nazwa tabeli, do której odwołuje się wtyczka)
SELECT * FROM pm_modules_dbexplorer_cfg;
UPDATE pm_modules_dbexplorer_cfg SET dbRealName = replace(dbRealName, 'stara wartosc', 'nowa wartosc');
-- Ścieżka do pliku licencyjnego modułu Plus E-faktura
SELECT * FROM pm_plusefaktura_license;
UPDATE pm_plusefaktura_license SET path = replace(path, 'stara wartosc', 'nowa wartosc');
-- Moduł PO
SELECT * FROM pm_po_module;
UPDATE pm_po_module SET value = replace(value, 'stara wartosc', 'nowa wartosc');
7. Źródła danych
Należy ustalić czy po wyrównaniu zostawiamy konfiguracje skopiowane z produkcji czy przywracamy dotychczasowe z testu. Jeśli zostawiamy ustawienia z PROD jest ryzyko, że coś będzie odnosić do baz produkcyjnych.
8. Weryfikacja zgodności z dokumentacją projektu
W procedurze należy uwzględnić i zweryfikować poprawne ścieżki oraz konfiguracje wskazane w dokumentacji projektowej — powyższa checklista obejmuje tabele systemowe, jednak każdorazowo należy dodatkowo sprawdzić dokumentację właściwego projektu pod kątem:
- tabel i konfiguracji wdrożeniowych specyficznych dla danego wdrożenia,
- ścieżek katalogów i plików wskazanych w dokumentacji projektowej,
- dodatkowych integracji lub modułów niewymienionych w niniejszej checkliście.

1 Comment
Dział serwisu
Przydatne instrukcje:
Dostosowanie kopii bazy produkcyjnej pod system testowy - Serwis - Confluence
Tabele, w których należy zmienić scieżkę po kopii bazy danych. - PlusWorkflow 3.1 - Confluence
Tabele w których należy zmienić ścieżkę po upgrade 4.2 - PlusWorkflow - Confluence