4.4. Schéma databáze
Komponenta má data uložena ve vlastní databázi PostgreSQL. Schéma spravuje Liquibase (viz Migrace z Imwhooseru).
4.4.1. Fond
Tabulka: pv_fund
Stažené archivní soubory (fondy) z PEvA.
Sloupec |
Datový typ |
Popis |
|---|---|---|
fund_id |
long |
primární klíč |
uuid |
uuid |
identifikátor fondu v PEvA |
fund_name |
string |
název fondu |
fund_number |
string |
evidenční číslo (jen u primárního NAD listu) |
institution_id |
string |
externí identifikátor instituce |
ruleset_code |
string |
kód pravidel (např. ZP2015) |
internal_code |
string |
interní kód (zatím nevyplňováno) |
date_range |
string |
časový rozsah fondu |
mark |
string |
značka fondu |
department_name |
string |
název oddělení v PEvA (pro výběr výchozích administrátorů fondu) |
department_number |
string |
číslo oddělení v PEvA (pro výběr výchozích administrátorů fondu) |
4.4.2. Stav stahování
Tabulka: property
Klíč-hodnota pro inkrementální stahování (pozice ve stránkování a časová značka
poslední úspěšné synchronizace), např. PEVA_SEARCH_AFTER a
PEVA_UPDATE_AFTER.
Sloupec |
Datový typ |
Popis |
|---|---|---|
property_id |
int |
primární klíč |
name |
string |
název vlastnosti |
value |
text |
hodnota |
4.4.3. Odchozí fronta do Elza
Tabulka: elza_queue
Obsahuje fondy připravené k odeslání do Elza. Po úspěšném odeslání je záznam z tabulky odstraněn. V PEVA Connectoru je fronta určena pouze pro fondy (na rozdíl od Imwhooseru, kde tatáž tabulka sloužila i pro entity).
Sloupec |
Datový typ |
Popis |
|---|---|---|
elza_queue_id |
long |
primární klíč |
fund_id |
long |
odkaz na odesílaný fond do tabulky |
status |
text |
text poslední chyby odeslání záznamu, null pokud není chyba |
request_id |
uuid |
identifikátor požadavku pro odeslání |
scope |
string |
kód oblasti (scope), do které se záznam v Elze odesílá |
action |
string |
obvykle NULL - položka k odeslání, hodnota |
create_time |
timestamp |
čas vložení záznamu do fronty |
send_time |
timestamp |
čas posledního pokusu o odeslání |
Poznámka
Sloupec entity_id z Imwhooseru PEVA Connector nevyužívá. Při převzetí
databáze jej úklidový krok automaticky a nevratně odstraní (spolu s dalším
entity-side schématem Imwhooseru) - viz Migrace z Imwhooseru.
Chování při chybě odeslání
Pokud se záznam nepodaří odeslat do Elzy, neodstraní se z fronty. Text chyby
se uloží do sloupce status, čas pokusu do send_time a záznam se ve
výchozím nastavení v dalším cyklu odešle znovu - opakuje se tedy automaticky,
dokud neuspěje (s postupně prodlužovaným intervalem mezi pokusy). Tím se řeší
i dočasné nebo odstranitelné chyby, např. chybějící oprávnění ADMIN
servisního účtu při aktualizaci spravovaného fondu (viz Spravované fondy (režim „jen pro čtení“ v Elze)).
Je-li v konfiguraci nastaveno elza.disableIfError: true, dostane chybný
záznam místo toho hodnotu action = DISABLED a automaticky se znovu
neodesílá, dokud není opět povolen. Ve výchozím stavu je tato volba vypnutá
(false), takže se odeslání opakuje až do úspěchu.