summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2022-07-27 21:36:25 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-08-01 09:26:34 +0200
commit1a9f079b7e43c0045f380729ba5fd7cfaa137bd5 (patch)
tree8c004194e6d43b5ad130fc8953e504dfe6a421db
parentb8b449fe203a3d91a7fb8eda2426ba36ebc3692d (diff)
downloaddjango-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.py11
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",