From c39b891bd29dd399ab3bd9281947953c7171bbcf Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 28 Nov 2020 12:53:17 -1000 Subject: [PATCH] Update mysql charset to allow storing emoji (#15771) We need to use `utf8mb4` instead of `utf8` because we sometimes store emjoi in the database which currently results in a operational error as seen in https://github.com/home-assistant/core/pull/41426 --- source/_integrations/recorder.markdown | 32 +++++++++++++------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/source/_integrations/recorder.markdown b/source/_integrations/recorder.markdown index a9df3b7b4bd..e0f6354aec6 100644 --- a/source/_integrations/recorder.markdown +++ b/source/_integrations/recorder.markdown @@ -215,22 +215,22 @@ Note that purging will not immediately decrease disk space usage but it will sig ## Custom database engines -| Database engine | `db_url` | -| :----------------------------- | :----------------------------------------------------------------------------------------------------- | -| SQLite | `sqlite:////PATH/TO/DB_NAME` | -| MariaDB (omit pymysql) | `mysql://user:password@SERVER_IP/DB_NAME?charset=utf8` | -| MariaDB (omit pymysql, Socket) | `mysql://user:password@SERVER_IP/DB_NAME?unix_socket=/var/run/mysqld/mysqld.sock&charset=utf8` | -| MySQL | `mysql://SERVER_IP/DB_NAME?charset=utf8` | -| MySQL | `mysql://user:password@SERVER_IP/DB_NAME?charset=utf8` | -| MySQL (Socket) | `mysql://user:password@localhost/DB_NAME?unix_socket=/var/run/mysqld/mysqld.sock&charset=utf8` | -| MariaDB | `mysql+pymysql://SERVER_IP/DB_NAME?charset=utf8` | -| MariaDB | `mysql+pymysql://user:password@SERVER_IP/DB_NAME?charset=utf8` | -| MariaDB (Socket) | `mysql+pymysql://user:password@localhost/DB_NAME?unix_socket=/var/run/mysqld/mysqld.sock&charset=utf8` | -| PostgreSQL | `postgresql://SERVER_IP/DB_NAME` | -| PostgreSQL | `postgresql://user:password@SERVER_IP/DB_NAME` | -| PostgreSQL (Socket) | `postgresql://@/DB_NAME` | -| PostgreSQL (Custom socket dir) | `postgresql://@/DB_NAME?host=/path/to/dir` | -| MS SQL Server | `mssql+pyodbc://username:password@SERVER_IP/DB_NAME?charset=utf8;DRIVER={DRIVER};Port=1433;` | +| Database engine | `db_url` | +| :----------------------------- | :-------------------------------------------------------------------------------------------------------- | +| SQLite | `sqlite:////PATH/TO/DB_NAME` | +| MariaDB (omit pymysql) | `mysql://user:password@SERVER_IP/DB_NAME?charset=utf8mb4` | +| MariaDB (omit pymysql, Socket) | `mysql://user:password@SERVER_IP/DB_NAME?unix_socket=/var/run/mysqld/mysqld.sock&charset=utf8mb4` | +| MySQL | `mysql://SERVER_IP/DB_NAME?charset=utf8mb4` | +| MySQL | `mysql://user:password@SERVER_IP/DB_NAME?charset=utf8mb4` | +| MySQL (Socket) | `mysql://user:password@localhost/DB_NAME?unix_socket=/var/run/mysqld/mysqld.sock&charset=utf8mb4` | +| MariaDB | `mysql+pymysql://SERVER_IP/DB_NAME?charset=utf8mb4` | +| MariaDB | `mysql+pymysql://user:password@SERVER_IP/DB_NAME?charset=utf8mb4` | +| MariaDB (Socket) | `mysql+pymysql://user:password@localhost/DB_NAME?unix_socket=/var/run/mysqld/mysqld.sock&charset=utf8mb4` | +| PostgreSQL | `postgresql://SERVER_IP/DB_NAME` | +| PostgreSQL | `postgresql://user:password@SERVER_IP/DB_NAME` | +| PostgreSQL (Socket) | `postgresql://@/DB_NAME` | +| PostgreSQL (Custom socket dir) | `postgresql://@/DB_NAME?host=/path/to/dir` | +| MS SQL Server | `mssql+pyodbc://username:password@SERVER_IP/DB_NAME?charset=utf8;DRIVER={DRIVER};Port=1433;` |