Миграция доктрины symfony с добавлением логического столбца и длины поля - PullRequest
2 голосов
/ 09 августа 2011

У меня есть проект 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 Ответ

1 голос
/ 10 августа 2011

Вы можете сохранить, проигнорировав это. В доктринах Table.php в строке 1361 вы можете обнаружить, что если тип является booelan, то length будет зафиксирован на 1.

            case 'boolean':
                $length = 1;
...