Доктрина Symfony4 utf8mb4 не обнаружена - PullRequest
0 голосов
/ 20 декабря 2018

У меня проблема с 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.

Большое спасибо за вашу помощь.

...