2.6.2. Migrace z Imwhooseru

PEVA Connector vznikl vyčleněním importu PEvA z nástroje Imwhooser. Tabulky PEvA (pv_fund, property a fond-only část elza_queue) jsou v obou aplikacích shodné, takže PEVA Connector umí převzít existující databázi Imwhooseru.

Idempotentní schéma

Migrace databáze (Liquibase) jsou navržené tak, aby fungovaly ve dvou scénářích:

  • Nová (prázdná) databáze - schéma se vytvoří. Tabulka elza_queue se vytvoří v „fund-only“ podobě (bez sloupce entity_id).

  • Existující databáze Imwhooseru v „PEVA módu“ - tabulky pv_fund, property i elza_queue již existují. Liquibase je díky podmínkám (preConditions onFail="MARK_RAN") detekuje, přeskočí jejich vytváření a převezme je i s daty.

Stejný changelog tedy funguje pro čistou instalaci i pro převzetí.

Doporučený postup migrace

  1. Vypněte stahování PEvA v Imwhooseru (peva.processing.enabled: false) a nechte doběhnout odeslání případných čekajících fondů z elza_queue, aby fondy do Elzy posílala jen jedna aplikace.

  2. Vytvořte kopii databáze Imwhooseru a nasměrujte na ni PEVA Connector (vlastní databáze - obě aplikace nesdílejí jednu živou DB, aby se znovu nepropojily přes elza_queue).

  3. Spusťte PEVA Connector. Idempotentní changelog převezme pv_fund, property i čekající fond záznamy.

  4. Ověřte stahování z PEvA a odesílání do Elzy (viz Monitorování).

Úklid převzaté databáze

PEVA Connector je samostatná, odlehčená aplikace a entity-side schéma Imwhooseru (tabulky imw_* / *_person a sloupec elza_queue.entity_id) nevlastní ani nevyužívá. Při převzetí databáze je proto automaticky a nevratně odstraní - úklidový changelog se spustí vždy při startu, bez nutnosti zvláštního nastavení. Jde o trvalé „odpojení“ od Imwhooseru.

Konkrétně se odstraní:

  • sloupec elza_queue.entity_id (včetně cizího klíče a indexu),

  • tabulky imw_* / *_person (entity-side schéma Imwhooseru).

Každý krok je idempotentní (preConditions onFail="MARK_RAN"): na čisté nebo již uklizené databázi se přeskočí, takže opakované starty ani nová instalace ničemu nevadí.

Varování

Úklid je nevratný a běží automaticky při prvním startu nad převzatou databází. Migrujte proto vždy nad kopií databáze (viz doporučený postup výše) a nikdy nesměřujte PEVA Connector na živou databázi, kterou ještě používá Imwhooser.

Úklid na straně Imwhooseru

Po odpojení je možné v původním Imwhooseru odstranit již nevyužívané PEvA tabulky a sloupce (pv_fund, property, elza_queue.fund_id). Tato úprava se provádí v Imwhooseru, nikoli v PEVA Connectoru.