我们的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格式的枚举或其他方法?