===== Kontrola DB schematu ===== Kontrola databázového schematu dělá kontrolu a konverzi struktur DB tabulek. Tím se provedou všechny důležité konverze struktur DB tabulek. ==== Automatické spuštění ==== Kontrola DB schematu se spouští automaticky po instalaci každé nové verze či [[:orsoftopen:spravais:oo_aktualizace|aktualizace]]. Kontrola se neprovádí přímo jako součást instalace, ale provede se při následném prvním spuštění serverové části Orsoftu Open. Provádí na pozadí, takže se pro uživatele jeví, jako by se provedla v rámci aktualizace. ==== Ruční spuštění ==== Tím, že se kontrola spouští automaticky, tak by mělo být zajištěno, že má uživatel vždy struktury tabulek v aktuálním stavu. Přesto je možné kontrolu spustit ručně pomocí volby v administraci. Při ručním spuštění se kontrola provádí ve dvou fázích. V první fázi se připraví SQL skript, pomocí kterého se mají provést konverze struktur. V ideálním případě se vytvoří prázdný skript, což znamená, že je vše v naprostém pořádku. Mohou zde být SQL příkazy zakomentářované pomocí pomlček. To například v případě, kdy některá tabulka má sloupce navíc, které mít v aktuální verzi nemusí. I tento případ je většinou v pořádku. Pouze SQL příkazy, které nejsou zakomentářované, se budou v druhé fázi provádět. V druhé fázi se připravený SQL skript provede. Na konci se vytvoří protokol, který je možné zobrazit. Tento protokol by měl být prázdný. Pokud se cokoliv nepodařilo, tak je v protokolu vždy příkaz, který se nedařilo provést a následuje chybová hláška z databáze. Takovéto chyby je třeba nějakým způsobem opravit. Většinou se jedná o chybu v datech, kdy nějaká hodnota není v číselníku. Příslušnou hodnotu je pak potřeba v datech opravit či doplnit do číselníku. ==== Protokol z kontroly ==== Když se v rámci kontroly spustí i 2.fáze (tedy konverze), tak se protokol o tomto spuštění (ať už ručním či automatickém) uloží na server do adresáře //log//. Jedná se o soubory //o0schemaUpdate_RRRR-MM-DD_...//. Zde je možné zpětně dohledat, jaké konverze struktur byly v databázi provedeny.