Добавление к блестящему ответу @romanb.
Это добавляет небольшие издержки при миграции, поскольку вы, очевидно, не можете создать поле с ненулевым ограничением и без значения по умолчанию.
// this up() migration is autogenerated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() != "postgresql");
//lets add property without not null contraint
$this->addSql("ALTER TABLE tablename ADD property BOOLEAN");
//get the default value for property
$object = new Object();
$defaultValue = $menuItem->getProperty() ? "true":"false";
$this->addSql("UPDATE tablename SET property = {$defaultValue}");
//not you can add constraint
$this->addSql("ALTER TABLE tablename ALTER property SET NOT NULL");
С этим ответом я призываю вас задуматься, зачем вам сначала значение по умолчанию в базе данных?И обычно это позволяет создавать объекты с ненулевым ограничением.