我有一个symfony 1.4项目,我正在通过迁移添加一个新列。 schema.yml
中的新列如下所示:
has_private_data: { type: boolean, notnull: true, default: false }
生成的迁移如下所示:
<?php
/**
* This class has been auto-generated by the Doctrine ORM Framework
*/
class Version26 extends Doctrine_Migration_Base
{
public function up()
{
$this->addColumn('device', 'has_private_data', 'boolean', '25', array(
'notnull' => '1',
'default' => '0',
));
$this->addColumn('device_history', 'has_private_data', 'boolean', '25', array(
'notnull' => '1',
'default' => '0',
));
}
public function down()
{
$this->removeColumn('device', 'has_private_data');
$this->removeColumn('device_history', 'has_private_data');
}
}
为什么将此布尔字段的长度设置为25
? (我的后端数据库是MySql。)
答案 0 :(得分:1)
你可以通过忽略它来保存。在第1361行的学说Table.php
中,您可以发现如果类型为布尔值,则length
将固定为1
。
case 'boolean':
$length = 1;