Поддержка utp8mb4 в Drupal 7: предупреждение «Пожалуйста, конвертируйте таблицы» ... после конвертации таблиц - PullRequest
0 голосов
/ 31 октября 2018

Полная ошибка, которую я вижу в Drush:

Пожалуйста, преобразуйте все таблицы базы данных в utf8mb4, прежде чем включить его в settings.php. Смотрите документацию по добавлению [предупреждение] Поддержка 4 байтов UTF-8 для получения дополнительной информации. (В настоящее время используется база данных 4 байта UTF-8, поддержка включена, но база данных таблицы нуждаются в преобразовании)

Я использую самую последнюю версию Drupal 7. Я преобразовал все таблицы в utf8mb4_unicode_ci. Сначала я сделал это вручную через приглашение, но затем снова запустил обновления, используя phpMyAdmin для таблиц и полей (просто чтобы убедиться, так как Drush все еще говорил мне: «Пожалуйста, преобразуйте все таблицы базы данных в utf8mb4, прежде чем включать его в settings.php»). . ") Для всех таблиц установлено значение InnoDB.

В файле my.cnf я гарантировал, что у меня есть

[mysqld] innodb_large_prefix=true innodb_file_format=barracuda innodb_file_per_table=true

На другом сайте на том же сервере включена поддержка utf8mb4, и он не выдает ошибку. Оба сайта используют последнюю версию PHP 5.6.x. Drush версия 8.1.2. MySql имеет последнюю версию 5.5.x.

Я очистил все кэши Drupal с помощью drush cc all и перезапустил сервер MySQL. Установка под Ubuntu с Plesk.

Ищет мысли о том, что я мог упустить и почему Drupal просит меня преобразовать таблицы, которые выглядят так, как будто они были преобразованы (phpMyAdmin действительно показывает параметры сортировки как utf8mb4_unicode_ci.)

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

см. https://www.drupal.org/forum/support/upgrading-drupal/2018-04-03/upgrade-to-758-database-utf-8-issues#comment-12968331. Это сообщение не из глубокого анализа SQL, а зависит от значения логической переменной drupal_all_databases_are_utf8mb4. Эта переменная должна быть установлена ​​на TRUE после того, как таблицы были преобразованы, независимо от того, делаете ли вы это вручную или с помощью рекомендованного скрипта (https://www.drupal.org/project/utf8mb4_convert), который (я думаю) установит его для вас.

-Bronius

0 голосов
/ 01 ноября 2018

У вас установлены параметры сортировки и кодировки в settings.php?

$databases['default']['default'] = array(
  'driver' => 'mysql',
  'database' => 'databasename',
  'username' => 'username',
  'password' => 'password',
  'host' => 'localhost',
  'charset' => 'utf8mb4',
  'collation' => 'utf8mb4_general_ci',
);
...