diff options
author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-07-27 21:36:25 +0200 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-08-01 09:26:34 +0200 |
commit | 1a9f079b7e43c0045f380729ba5fd7cfaa137bd5 (patch) | |
tree | 8c004194e6d43b5ad130fc8953e504dfe6a421db | |
parent | b8b449fe203a3d91a7fb8eda2426ba36ebc3692d (diff) | |
download | django-1a9f079b7e43c0045f380729ba5fd7cfaa137bd5.tar.gz |
[4.0.x] Fixed collation tests on MySQL 8.0.30+.
The utf8_ collations are renamed to utf8mb3_* on MySQL 8.0.30+.
Backport of 88dba2e3fd64b64bcf4fae83b256b4f6f492558f from main
-rw-r--r-- | django/db/backends/mysql/features.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/django/db/backends/mysql/features.py b/django/db/backends/mysql/features.py index 6f8b135fc9..7ad4238e7e 100644 --- a/django/db/backends/mysql/features.py +++ b/django/db/backends/mysql/features.py @@ -51,11 +51,14 @@ class DatabaseFeatures(BaseDatabaseFeatures): @cached_property def test_collations(self): charset = "utf8" - if self.connection.mysql_is_mariadb and self.connection.mysql_version >= ( - 10, - 6, + if ( + self.connection.mysql_is_mariadb + and self.connection.mysql_version >= (10, 6) + ) or ( + not self.connection.mysql_is_mariadb + and self.connection.mysql_version >= (8, 0, 30) ): - # utf8 is an alias for utf8mb3 in MariaDB 10.6+. + # utf8 is an alias for utf8mb3 in MariaDB 10.6+ and MySQL 8.0.30+. charset = "utf8mb3" return { "ci": f"{charset}_general_ci", |