У меня проблема с doctrine и symfony4.1, он не принимает мой параметр charset.
У меня всегда есть таблицы с charset utf8 и collate utf8_unicode_ci.
Я пыталсяс mariadb / mysql и ничем не работающим, он никогда не обнаружит мою конфигурацию набора символов.
Я удалил свою базу данных, пересоздал и перенес несколько раз и каждый раз очищал кеш.Но он не работает.
команды:
php bin/console doctrine:database:drop --force
php bin/console doctrine:database:create
php bin/console make:migration
php bin/console doctrine:migration:migrate
вот мой файл конфигурации:
doctrine:
dbal:
driver: pdo_mysql
host: "%env(DATABASE_MASTER_HOST)%"
dbname: "%env(DATABASE_DBNAME)%"
user: "%env(DATABASE_USER)%"
password: "%env(DATABASE_PASSWORD)%"
slaves:
slave1:
host: "%env(DATABASE_SLAVE_HOST)%"
dbname: "%env(DATABASE_DBNAME)%"
user: "%env(DATABASE_USER)%"
password: "%env(DATABASE_PASSWORD)%"
charset: utf8mb4
default_table_options:
charset: utf8mb4
collate: utf8mb4_unicode_ci
orm:
auto_generate_proxy_classes: '%kernel.debug%'
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
mappings:
App:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App
dql:
string_functions:
GROUP_CONCAT: DoctrineExtensions\Query\Mysql\GroupConcat
IF: DoctrineExtensions\Query\Mysql\IfElse
FIND_IN_SET: App\DQL\FindInSet
Когда я добавляю в свой файл конфигурации sql:
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
Myбаза данных создается с помощью utf8mb4_unicode_ci, но мои таблицы всегда генерируются с помощью utf8 / utf8_unicode_ci
Это работает, если я создаю свою сущность с параметром параметров:
@ORM\Table(options={"charset":"utf8mb4"}...)
Но я не хочу менятьвсе мои таблицы и таблицы соединений всегда с utf8.
почему он не принимает мою конфигурацию charset.
Похоже, что-то не работает, когда я использую MasterSlaveConnection.
Большое спасибо за вашу помощь.