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.

  1. 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.
  2. 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.msi
    Soubor uložíme na lokální disk (například do složky C:\EAInfoport).
  3. Soubor spustíme
  4. Jako typ instalace vybereme Custom
    MysQL instal.png
  5. Vybereme dvě položky k instalování:
    MySQL Server 5.7.x – X86
    Connector/ODBC 5.3.x – X86
    MySQL instal 2_1.png
  6. Na další záložce spustíme samotnou instalaci MySQL
    MySQL instal 3.png
  7. 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í)
    MySQL instal 4.png
    MySQL User Acount.png
  8. 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:

Ř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 <uzivatel> 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.


Revision #9
Created 15 March 2022 11:10:37
Updated 14 August 2026 08:58:38 by Jitka Kalíšová