我有一个问题;
有没有人使用CakePHP 3迁移工具迁移表,当特定字段是ENUM
数据类型时,迁移脚本会自动将其转换为字符串或文本。
如何避免使用它?如何保持ENUM
的数据类型?
由于
答案 0 :(得分:2)
这取决于使用的驱动程序,因为enum
是not supported by all database systems。对于MySQL驱动程序,使用enum
类型将生成相应的DDL。
迁移类:
public function up()
{
$table = $this->table('testenum');
$table
->addColumn('enum_column', 'enum', [
'values' => ['one', 'two']
])
->create();
}
DDL:
CREATE TABLE `testenum` (
`enum_column` enum('one','two') NOT NULL,
PRIMARY KEY (`id`)
)
在Phinx package中,enum
仅出现在MysqlAdapter中。