- PEX via MySQL - Základy (1.díl)
- PEX via MySQL - Migrace (2.díl)
Migrace
V tomto díle se zaměřím na převod soubor -> Databáze.
Předpoklady:
- nainstalovaný PEX a pravomoce v souboru
- přístup do databáze
Doporučuji provádět změny se zamknutým serverem (whitelist), kdyby nahodou něco nešlo podle plánu.
Udělejte si zálohu celé složky PermissionsEx v adresáři s pluginy!
Takže server je připravený na převod, co dále?
1.krok
- do konzole napíšeme pex dump sql "permissions.sql" (nebo ve hře /pex dump sql "permissions.sql")
- pokud to nevypíše žádnou chybu, tak máme ve složce PermissionsEx připravený soubor permissions.sql který později využijeme
2.krok
- potřebujeme PEX nastavit tak, aby pracoval s Databází
- to provedeme celkem jednoduše - stačí pozměnit soubor config.yml v adresáři PEX
- toto je můj config - vysvětlíme si co kde změnit
Spoiler: zobrazit
- na řádku "uri" upravíme adresu tak, aby odkazovala na naši databázi, za lomítko napíšeme název databáze (v mém případě "minecraft")
- za "user: " napíšeme jméno uživatele databáze
- za "password: " napíšeme heslo uživatele k databázi
- soubor uložíme, dáme restart/reload serveru a koukneme jestli se nám v databázi vytvořily tabulky permissions, permissions_entity a permissions_inheritance
3.krok
- před dalším postupem je potřeba vyprázdnit všechny tabulky, které se vytvořily, jinak vám to bude házet chybu
(u tabulek začínajících na permissions klikneme na "Vyprázdnit")
- nyní máme vše připraveno a můžeme přejít k převodu dat ze souboru do databáze
- otevřeme soubor permissions.sql v nějakém textovém editoru
- měl by obsahovat něco jako
Kód: Vybrat vše
INSERT INTO `permissions_inheritance` ( `child`, `parent`, `type` ) VALUES ( 'AnotherPlayer', 'default', 1);
- toho se vůbec nelekejte
- přes web se dostaneme do databáze, ve které máme připravené tabulky
- v menu nahoře najdeme kouzelné tlačítko "SQL"
- otevře se nám tato stránka
Spoiler: zobrazit
- v souboru permissions.sql označíme celý obsah, zkopírujeme a vložíme do textového pole na stránce
- klikneme na tlačítko "Proveď" a pokud to nenapíše žádnou chybu, tak restartujeme server a máme hotovo
Přečtěte si prosím 1. díl než se budete na něco ptát.
Je velká šance, že jsem něco zapomněl/přehlídl, takže mě můžete opravit
Možné problémy
Spoiler: zobrazit
PS.: Každý bod karmy potěší