2014-02-06 52 views
2

我使用Zend框架2內教義2要生成使用數據庫中的表的實體,所使用的控制檯的命令是:Doctrine-未知數據庫類型枚舉請求

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

當我上述命令運行時,它引發錯誤:

未知的數據庫類型枚舉要求

如何解決這個問題?

+0

從文檔: 「(...)默認情況下學說不映射MySQL的枚舉類型的學說類型(...)。」。查看[文檔](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

主義默認情況下不爲ENUM支持MySQL 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' 
         ), 
        ) 
       ) 
      ) 
     );