Architektura

Wdrożenie

Dwa tory wdrożenia EVAN — zmiany bazy (Liquibase) i aplikacje APEX (SQLcl) — wraz ze środowiskami i komendami.

Wdrożenie obsługuje Liquibase sterowany z Gradle (połączenie z Oracle przez OJDBC). Aplikacje APEX instaluje dodatkowo SQLcl (w _exec/sqlcl/).

Wdrożenie to dwa niezależne tory, których nie należy mylić: zmiany bazy danych oraz aplikacje APEX.

Tor 1 — zmiany bazy danych

changelog/master.xml dołącza kolejno:

  1. install/1_changelog_struct.xml — struktury (tabele).
  2. install/2_changelog_constraints.xml — ograniczenia.
  3. install/3_changelog_objects.xml — obiekty programistyczne.
  4. install/4_changelog_data.xml — dane słownikowe.
  5. latest/5_changelog_db.xml — najnowsze zmiany obiektów bazy.

Po wdrożeniu uruchamiają się skrypty z post-build/ (zapis historii Git do bazy, powiadomienie o replikacji).

changelog/master_preview_only.xml to wariant master używany przez zadania *_conn status.

Tor 2 — aplikacje APEX

Sterowane przez changelog/latest/6_applications.sql. To plik-przełącznik: aplikacja zostaje zainstalowana tylko gdy jej linia @../../apex/f<ID>/install.sql jest odkomentowana (bez --).

changelog/latest/6_applications.sql
-- @../../apex/f1010/install.sql   -- wyłączona (zakomentowana)
@../../apex/f1700/install.sql      -- włączona (zostanie wgrana)

Edycja tego pliku = wybór aplikacji do wgrania przez installApexApps.

Środowiska

Zadanie GradleŚrodowiskoHost / Port / SerwisHasło z
devDevelopment192.168.0.53:6021 / pdb_dev.podlasie$VDATAPW
preprodPreprodukcja192.168.0.53:6021 / pdb_preprod.podlasie$VDATAPWPPR
prodProdukcja192.168.0.52:5021 / pdb_prod.podlasie$VDATAPWPR
apexprodKopia APEX (prod)192.168.0.52:5021 / pdb_apex.podlasie(w skrypcie)

Użytkownik bazy: VAN_DATA. Hasła produkcyjne pobierane są ze zmiennych środowiskowych.

Podejrzyj zmiany przed wdrożeniem

Generuje preview_update_sql.sql bez wdrażania. Najlepiej uruchomić po merge'u, ale przed pushem.

gradle dev_conn status read
gradle preprod_conn status read
gradle prod_conn status read

Wdróż zmiany bazy

gradle dev update          # DEV
gradle preprod update      # PPR
gradle prod update         # PROD

Zainstaluj aplikacje APEX

gradle installApexApps

Instaluje aplikacje włączone w changelog/latest/6_applications.sql (przez SQLcl).

Copyright © 2026