2014-02-06 4 views
2

Я использую учение-в рамках ZEND 2. Для создания объектов с помощью таблицы базы данных, консольная команда используется:Doctrine- неизвестного типа базы данных перечисления запрошенного

php doctrine-module orm:convert-mapping --force --from-database annotation ./export 

Когда я запускаю выше команды, он выдает ошибку :

Неизвестный тип базы данных перечисление запрошенный

Как решить эту проблему?

+0

Из документов: "(...) По умолчанию Доктрины не отображает MySQL тип перечисления к типу Doctrine (...).". Проверьте [документацию] (http://docs.doctrine-project.org/en/2.0.x/cookbook/mysql-enums.html), есть два предложенных решения. – lluisaznar

+0

Я следовал этой ссылке для получения ответа: http://stackoverflow.com/questions/15086148/doctrine-migrations-phar-how-to-setup-type-mapping –

+0

доктрина не поддерживает MySQL ENUM по умолчанию как ENUM специфичен для MySQL. – Broncha

ответ

8

Вы можете добавить:

'doctrine_type_mappings' => array(
    'enum' => 'string' 
) 

в глобальном файле конфигурации, расположенной в /config/autoload/global.php.

Пример кода:

 return array(
      'doctrine' => array(
       'connection' => array(
        'orm_default' => array(
         'driverClass' =>'Doctrine\DBAL\Driver\PDOMySql\Driver', 
         'params' => array(
          'host'  => 'localhost', 
          'port'  => '3306', 
          'user'  => 'username', 
          'password' => 'password', 
          'dbname' => 'DevBrew', 

         ), 
         // To automatically convert enum to string 
         'doctrine_type_mappings' => array(
          'enum' => 'string' 
         ), 
        ) 
       ) 
      ) 
     ); 
Смежные вопросы