Symfony Doctrine迁移中的枚举mapping_types

时间:2015-05-10 18:08:55

标签: php symfony doctrine-orm

我们的MySQL数据库具有枚举字段,这些字段通常转换为app/config/config.yml文件中的字符串:

doctrine:
    dbal:
        connections:
            default:
                driver:   "%database_driver%"
                host:     "%database_host%"
                port:     "%database_port%"
                dbname:   "%database_name%"
                user:     "%database_user%"
                password: "%database_password%"
                charset:  UTF8
                mapping_types:
                    enum: string

但是,在运行迁移时,我们使用特定的db配置文件,例如:

app/console doctrine:migrations:migrate --db-configuration=app/config/migrations/db.php

db.php文件位于:

<?php
return array(
    'dbname' => 'database',
    'user' => 'username',
    'password' => 'password',
    'host' => 'localhost',
    'driver' => 'pdo_mysql',
    'charset' => 'utf8',
    'mapping_types' => array(
        'enum' => 'string'
    )
);

将忽略mapping_types参数,从而产生:

Migration 0000000000 failed during Pre-Checks. Error Unknown database type enum requested, Doctrine\DBAL\Platforms\MySqlPlatform may not support it.

我很难找到关于使用--db-configuration选项的任何文档(因此,为什么它不是yml格式 - doctrine总是抱怨&#34; 连接文件必须返回一个包含数据库配置参数的数组。&#34;)。

是否有不同的语法来转换php格式的枚举或其他方法?

0 个答案:

没有答案