Instalace databáze pro uložení modelu Enterprise Architect V případě, že je na počítači nainstalován nebo na síti dostupný databázový stroj je možné tuto kapitolu přeskočit. Instalace a konfigurace MySql Zde si ukážeme, jak nainstalovat jeden z podporovaných databázových strojů.Jde o MySql, který je doporučován jako ideální pro potřeby jak samotného programu Enterprise Architect, tak i EaInfoportu. Před vlastní instalací MySQL je potřeba zajistit, že je na počítači nainstalovaný pomocný balíček vcredist_x86.exe ve verzi 2013. Na internetu vyhledáme „Visual C++ Redistributable Packages for Visual Studio 2013“ a variantu vcredist_x86.exe uložíme na disk a spustíme.Po odsouhlasení licence se balíček nainstaluje. Počítač není potřeba restartovat. Soubor vcredist_x86.exe smažeme. Z https://downloads.mysql.com/archives/installer/ stáhneme webový instalační program ve verzi 32-bit z 5.7.x řady. Aktuálně tedy mysql-installer-web-community-5.7.28.0.msiSoubor uložíme na lokální disk (například do složky C:\EAInfoport). Soubor spustíme Jako typ instalace vybereme Custom Vybereme dvě položky k instalování:MySQL Server 5.7.x – X86Connector/ODBC 5.3.x – X86 Na další záložce spustíme samotnou instalaci MySQL Nastavení na dalších záložkách necháme defaultní.Pouze na záložce s nastavením účtů a rolí nejprve vyplníme kořenové heslo (pro správce databáze) a následně vytvoříme infoport uživatele, pod kterým se budeme do databáze později přihlašovat.Všechna hesla (správcovské zvlášť) by měla byt bezpečná. Pro demonstrační účely, ale v manuálu používáme jako heslo frázi P@ssw0rd (bude později vidět v definici připojení) Instalační soubor mysql-installer-web-community-5.7.28.0.msi smažeme z disku.Tím máme dokončenu instalaci databáze i ODBC driveru (ale ten bude ještě potřeba nakonfigurovat) Specifické nastavení pro PostgreSQL Problém Aplikace používá Entity Framework Core, který při připojení k PostgreSQL očekává, že systémová tabulka migrací __EFMigrationsHistory bude vytvořena v tom schématu, které je nastavené jako první položka v search_path. Pokud má uživatel v PostgreSQL nastavený search_path na jiné schéma (např. public), ale aplikace používá vlastní schéma (např. infoport), EF Core vytvoří nebo hledá tabulku __EFMigrationsHistory ve špatném schématu. Výsledkem je, že aplikace: nenajde existující migrace, pokouší se vytvářet tabulky znovu, nebo skončí chybou při startu. Řešení – nastavení search_path uživateli v PostgreSQL Prosíme o nastavení správného search_path pro uživatele, pod kterým se aplikace přihlašuje do databáze. 1. Nastavit search_path uživateli ALTER USER SET search_path = infoport, public; Po tomto nastavení bude PostgreSQL při každém přihlášení automaticky používat schéma infoport jako výchozí, což je nutné pro správný běh aplikace. 2. Ověření Po přihlášení daného uživatele: SHOW search_path; Očekávaný výstup: Kód infoport, public Alternativa – nastavení v connection stringu Pokud není možné upravit nastavení uživatele, lze search_path nastavit i v connection stringu: Search Path=infoport nebo Search_path=infoport Důležité upozornění Pokud je search_path uveden v connection stringu, přebije nastavení uživatele v PostgreSQL. Proto je potřeba použít jen jednu z výše uvedených variant. Shrnutí Aplikace Infoport vyžaduje, aby uživatel používaný aplikací měl nastavený: Kód search_path = infoport, public Bez tohoto nastavení PostgreSQL ukládá systémovou tabulku migrací do jiného schématu, což způsobuje nefunkčnost aplikace.