Symfony Doctrine make throws throws SQLSTATE [42000]: синтаксическая ошибка или нарушение доступа: 1071 Указанный ключ слишком длинный; максимальная длина ключа 767 байт - PullRequest
0 голосов
/ 04 февраля 2020

Привет всем, я пытаюсь выполнить миграцию с помощью doctrine.

Вызов: php bin/console do:mi:mi

Выдает эту ошибку:

    An exception occurred while executing 'CREATE TABLE user (id INT AUTO_INCREMENT NOT NULL, username VARCHAR(255) NO
  T NULL, password VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL, UNIQUE INDEX UNIQ_8D93D649F85E0677 (username)
  , UNIQUE INDEX UNIQ_8D93D649E7927C74 (email), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unic
  ode_ci` ENGINE = InnoDB':

  SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

Мой лучший Предполагается, что Engine или UTF-кодировка неверна.

Кто-нибудь еще решил эту проблему?

РЕДАКТИРОВАТЬ:

Я исправил эту проблему, изменив

  DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB

в этом

DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB

Однако я не хочу делать это каждый раз, когда у меня новая миграция, есть ли какие-либо настройки, которые я могу сделать, чтобы сделать это моей кодировкой по умолчанию?

...