Как я могу использовать Symfony 3 с mariadb и доктриной?

Как я могу использовать Symfony 3 с mariadb?

Но я также хочу использовать доктрину, но я не видел никакой полезной информации на http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#sqlanywhere

Поэтому, пожалуйста, направьте или предоставьте правильную ссылку на статью, спасибо.


person Ricky ponting    schedule 26.08.2017    source источник
comment
попробуйте dump($this->getDoctrine()->getConnection()); а посмотрите и платформу частной собственности. какой это класс?   -  person Brucie Alpha    schedule 27.08.2017
comment
Чувак, конфигурация для mariadb точно такая же, как и для mysql   -  person emix    schedule 27.08.2017
comment
MariaDB — это бинарная замена MySQL, просто как Перкона. Однако каждая платформа базы данных имеет свои технические характеристики и ограничения. т.е. Поддержка MariaDB JSON - это поле TEXT, где MySQL будет JSON. MariaDB автоматически переводит большинство вызовов функций MySQL, чтобы обеспечить совместимость с тем, как работает MariaDB.   -  person Will B.    schedule 21.04.2018


Ответы (4)


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

doctrine:
    dbal:
        server_version: 'mariadb-X.X.X'

Замена X.X.X на реальную версию mariadb, установленную на исполняющей машине.

person jav974    schedule 18.10.2019
comment
Просто дополнительная информация: обсуждение на GitHub префикса mariadb для серверной версии: github. com/doctrine/dbal/issues/2985#issuecomment-378595588 - person Michon; 10.10.2020

Пакет mysql-client также работает с сервером MariaDB. Подробности о версии можно посмотреть здесь. https://mariadb.com/kb/en/the-mariadb-library/mariadb-vs-mysql-compatibility/

person Ramazan APAYDIN    schedule 27.08.2017

Привет, это похоже на конфигурацию mysql

parameters.yml

parameters:
    database_host: 127.0.0.1
    database_port: null
    database_name: test # your database name
    database_user: root # mysql username
    database_password: test123 # mysql password

В вашем config.yml

doctrine:
    dbal:
        driver: pdo_mysql
        host: '%database_host%'
        port: '%database_port%'
        dbname: '%database_name%'
        user: '%database_user%'
        password: '%database_password%'
        charset: UTF8
person Robert    schedule 26.08.2017
comment
да, я вижу, но в любом случае я могу проверить в контроллере symfony, что я использую maria db, а не mysql. - person Ricky ponting; 26.08.2017
comment
maria db и mysql имеют одинаковую конфигурацию, если вы не понимаете, можете ли вы опубликовать код - person Robert; 26.08.2017
comment
понимаю и работало, но и это работает, но я хочу подтвердить, что я подключен к maria db, а не к mysql. - person Ricky ponting; 26.08.2017

В моем случае это было изменение порта, 3307, проверьте порт в MariaDB:

parameters:
    database_host: 127.0.0.1
    database_port: 3307
    database_name: test # your database name
    database_user: root # mysql username
    database_password: test123 # mysql password
person ricardo    schedule 03.12.2019