symfony Doctrine migration添加布尔列和字段长度

时间:2011-08-09 16:21:02

标签: symfony1 doctrine

我有一个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。)

1 个答案:

答案 0 :(得分:1)

你可以通过忽略它来保存。在第1361行的学说Table.php中,您可以发现如果类型为布尔值,则length将固定为1

            case 'boolean':
                $length = 1;