【问题标题】:Doctrine- unknown database type enum requestedDoctrine- 请求的未知数据库类型枚举
【发布时间】:2014-02-06 09:15:01
【问题描述】:

我在zend framework 2中使用doctrine 2。要使用数据库表生成实体,使用的控制台命令是:

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

当我运行上面的命令时,它会抛出一个错误:

请求的未知数据库类型枚举

如何解决这个问题?

【问题讨论】:

  • 来自文档:“(...) 默认情况下,Doctrine 不会将 MySQL 枚举类型映射到 Doctrine 类型。(...)”。查看documentation,有两种解决方案。
  • 我点击此链接寻求答案:stackoverflow.com/questions/15086148/…
  • Doctrine 默认不支持 MySQL ENUM,因为 ENUM 是 MySQL 特有的。

标签: doctrine-orm zend-framework2


【解决方案1】:

您可以添加:

'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'
                        ),
                    )
                )
            )
       );

【讨论】:

    猜你喜欢
    • 2016-01-13
    • 2020-10-26
    • 1970-01-01
    • 1970-01-01
    • 2020-01-14
    • 2015-05-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多