Мы перенесли конфигурацию из yml в аннотации. В лучшем случае, если мы это сделаем doctrine:schema:update --dump-sql модификаций не будет. Но теперь доктрина генерирует SQL "DEFAULT NULL" для всех существующих столбцов, не допускающих значение NULL.
Мы пытались установить явно nullable=false. А также мы попытались переместить это свойство столбца из встраиваемого в основной объект. Ничто не работает должным образом.
Таблица уже существует. Если у нас есть эта аннотация
/**
* @ORM\Column(name = "first_name", type = "string", length = "255", nullable=false)
*/
protected $firstName;
доктрина порождает:
ALTER TABLE user CHANGE first_name first_name VARCHAR(255) DEFAULT NULL;
Пожалуйста, попробуйте очистить мета-кэш перед обновлением схемы: доктрина:кэш:очистить-метаданные
Доктрина ОРМ 2.6; Симфони 4.2.




Действительно, очень похоже на баг. Какую версию Doctrine ORM и Doctrine DBAL вы используете? И какая платформа? Насколько я помню, было несколько проблем с MariaDB.