Проблемы в API Platform и MariaDB с enum, когда вы пытаетесь выполнить обратную разработку с Symfony [2,3,4]?

Если у вас установлена ​​и работает платформа API, и вам нужен существующий проект с полностью заполненной базой данных (MariaDB)... Вероятно, вам нужно создавать сущности из существующих таблиц (обратный инжиниринг). Для этого вы можете запустить:

bin/console doctrine:mapping:import --force AppBundle php

Согласно официальной документации Symfony

В результате большая ошибка...

  [Doctrine\DBAL\DBALException]                                                                      
  Unknown database type enum requested, Doctrine\DBAL\Platforms\MySQL57Platform may not support it.

1 ответ

Что нам нужно сделать, это отредактировать app/config/config.yml и добавить следующие строки:

mapping_types:
  enum: string

Файл выглядит так:

doctrine:
    dbal:
        driver: pdo_mysql
        host: '%database_host%'
        port: '%database_port%'
        dbname: '%database_name%'
        user: '%database_user%'
        password: '%database_password%'
        server_version: '5.7'
        charset: UTF8  
        mapping_types:
          enum: string

Кредиты для Stof по следующей ссылке

Другие вопросы по тегам