6.5

Převod kódování databáze z UTF-8 mb3 na UTF-8 mb4

UTF-8 verze mb4 podporuje všechny nové emotikony. To umožní ukládát text s libovolnou emotikonou na jakékoliv místo v CRM. Databazé CRM historicky používá UTF-8 mb3. Je teda potřeba převést v databázi kódování na novější verzi mb4

Systémové požadavky

Ruční převod

Pokud nechcete/nemůžete na serveru spustit náš automatizující skript, můžete využít příkazy níže. Doporučený postup pro převod na utf8mb4 z utf8mb3:

1 - Convert the database: ALTER DATABASE # CHARACTER SET = utf8mb4 COLLATE = utf8mb4_czech_ci;

2 - Convert each table: ALTER TABLE # CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_czech_ci;

Skript

MigrateDb

Napsán v java shell skriptu. Skript si stáhněte k sobě na server, kde vám běží databáze.

Následně budete potřebovat znát cestu k nainstalované JAVĚ a cestu ke knihovně mysql pro JAVU.

(Tu nalezenete např. v instalačním balíčku intouch.war v adresáři WEB-APP/lib/mysql...jar)

mysql-connector-j-8.0.33.jar nebo mysql-connector-java-8.0.25.jar atp.

Před spuštěním je potřeba v něm nastavit:

1. cestu k javě a cestu ke MySQL java knihovně

#!/CESTA/bin/java --source 17 -cp /CESTA/mysql-connector-j-8.0.33.jar

2. proměnné pro připojení do MySQL

private static String MYSQL_HOST = "localhost";
private static int MYSQL_PORT = 3306;
private static String MYSQL_USER = "root";
private static String MYSQL_PASSWORD = "123456";

3. collation - pro cz je to utf8mb4_czech_ci, pro sk je to utf8mb4_slovak_ci atp.

private static String UTF8_COLLATE = "utf8mb4_czech_ci";

4. Spustit s parametrem název databáze.

pro převod databáze intouch např. ./MigrateDb intouch

skript vypisuje stav migrace a na konci doporučí mysqlcheck pro kontrolu.