ошибка django inspectdb utf8mb4 - PullRequest
       15

ошибка django inspectdb utf8mb4

0 голосов
/ 29 августа 2018

Python manage.py inspectdb выдает следующую ошибку даже после того, как все таблицы с CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci

из импортных моделей django.db

Невозможно проверить выполнение таблицы

Ошибка: (3719, «3719:« utf8 »в настоящее время является псевдонимом для набора символов UTF8MB3, но будет псевдонимом для UTF8MB4 в будущем выпуске. Пожалуйста, рассмотрите возможность использования UTF8MB4, чтобы быть однозначным.», нет)

1 Ответ

0 голосов
/ 06 сентября 2018

В последнее время я столкнулся с точно такой же проблемой. Я поднял запрос об ошибке для Django, но Django не принимает его как свою ошибку.

MySQL 8 переключился с UTF8MB3 на UTF8MB4 в качестве кодировки по умолчанию. Начиная с 8.0.11 , если вы обращаетесь к таблице, созданной в предыдущей версии, возвращается предупреждение, побуждающее вас перейти на UTF8MB4.

Когда вы запускаете inspectdb, таблицы INFORMATION_SCHEMA все еще находятся в UTF8MB3, поэтому вы получаете предупреждение, возвращаемое Django, которое Django в настоящее время не может игнорировать.

У меня есть полностью проработанный пример того, как обойти эту ошибку в билете об ошибках Django: https://code.djangoproject.com/ticket/29678

Мне удалось полностью использовать MySQL 8.0.12 в качестве бэкэнда для надежного приложения Django поэтому, как только вы решите эту проблему, вы должны быть в порядке.

...