Skrípt pre prečistenie databázy – XG, DG, LTV a používateľskej tabuľky
Tento skript možno použiť pre bezpečné odstránenie obsahu z inštalácie FormFlow, teda obnovenie do jeho predvoleného stavu podľa zadaného parametra. Skript odstránite iba obsah, netýka sa nastavení.
Ide o skript umiestnený v c:\wwwroot\[FormFlow]\utils\clean_ffs_installation.php.
Použitie:
php -f cleanup_ffs_installation.php [-h] [-l logfile] [-d] [-f] [-a]
Tento skript odstráni z inštalácie FFS všetky objekty určitého typu.
-h |
zobrazenie pomoci |
-l logfile |
tento parameter obsahuje názov súboru, do ktorého ma tento skript zapísať protokol o svojej práci |
-d |
vymazať všetky DG záznamy |
-f |
vymazať všetky formuláre (procesy) |
-a |
vymazať všetky záznamy zo zoznamu |
Implementácie
Triedy sú v adresári htdocs\FS\Common\Cleanup.
Hlavná trieda je CleanupManager, overenie práv vykonáva CleanupAuthorizator, operáciu realizuje trieda CleanupService.
Konfigurácia operácie sa zadáva inštanciou triedy CleanupConfiguration.
Operácia sa musí robiť dvojkroková:
-
V prvom kroku a v db. transakcii sa odstránia záznamy, ktoré sa majú odstrániť, pozri metódu
CleanupManager::cleanup(). -
V druhom kroku a mimo db. transakciu sa reštartujú sekvencie resp. IDENTITY stĺpce – viď. metóda
CleanupManager::restartSequencesOrIDENTITYColumns()a skriptcleanup_ffs_installation.php, v ktorom je to takto volané.
Vlastné úpravy obsahu databázy vykonávajú triedy-moduly.
-
Sú v adresári
htdocs\FS\Common\Cleanup\Modules. -
Tieto triedy sú volány z triedy
CleanupService. -
Moduly musia naimplementovať rozhranie
\FS\Common\Cleanup\Modules\IModule. Mali by byť potomkom triedy\FS\Common\Cleanup\Modules\BaseModule, pretože tá trieda poskytuje metódy, ktoré sa hodia pri modifikácii obsahu databázy.
Implementované sú dva moduly:
-
\FS\Common\Cleanup\Modules\DGDocumentsModule– maže DG dokumenty. -
\FS\Common\Cleanup\Modules\FormsModule– maže formuláre.
Všetky vyššie uvedené triedy sú službami v systémovom kontajneri – viď súbor:
htdocs\configs\DI\config.neon.
Implementácia ďalšieho modulu
-
Skontrolovať a prípadne doplniť parametre do triedy CleanupConfiguration.
-
Vytvoriť triedu-modul v adresári
htdocs\FS\Common\Cleanup\Modules.-
Musí implementovať rozhranie
\FS\Common\Cleanup\Modules\IModule. -
Mala by byť potomkom triedy
\FS\Common\Cleanup\Modules\BaseModule. -
Pridať ju do
config.neon. -
Jej prácu možno logovať pomocou triedy
\FS\Common\Cleanup\CleanupLog, ktorej inštanciu dostávajú obe metódycleanup()irestartSequencesOrIDENTITYColumns().
-
-
Upraviť triedu
CleanupService, čo mimo iné znamená, že CleanupService bude dostávať inštancii tie nové triedy-modulu vo svojom konštruktore. V metódachcleanup()arestartSequencesOrIDENTITYColumns()sa musí volať príslušné metódy tie nové triedy-modulu.