Doctrine Dbal: Как настроить сортировку? (в Symfony2)

Я использую для создания объекта PDO что-то вроде этого в 4-м параметре (параметры драйвера):

array(\PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES {$this->charset} COLLATE {$this->collation}")

Как я могу сказать symfony 2 сделать это? В файле конфигурации я могу увидеть только опцию "charset".

Мне также нужно создать все таблицы с определенной сортировкой: utf8_unicode_ci

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

Ответ 1

Я столкнулся с той же проблемой. Кажется, что это связано с конфигурацией DBAL. Я нашел в документации PDO следующее в базе данных PDO_MYSQL DSN - Подключение к MySQL:

charset В настоящее время игнорируется.

Ответ 2

Мое решение состояло в том, чтобы вручную применить сортировку на уровне базы данных. Затем все таблицы, созданные в Symfony2 с командой обновления схемы, будут иметь правильную сортировку.

Я также добавил эту строку в мою доктрину Sf2: dbal configuration в config.yml:

    charset: utf8