Я бы предпочел, чтобы не все работали с SQL в своей производственной базе данных.
@ORM\Column(type="array", nullable=TRUE)
Более простое решение - сделать столбец обнуляемым, поэтому после запуска вашей «консоли доктрины: схема: обновление --force» существующие записи БД получат значение NULL вместо пустой строки. И doctrine может обрабатывать преобразование значения базы данных NULL в массив типа Doctrine. Это должна быть просто ссылка на массив NULL. И PHP empty () не заботится, является ли его массив нулевого размера или NULL.
В MySQL я получаю следующий sql-дамп:
ALTER TABLE my_table ADD my_new_column LONGTEXT DEFAULT NULL COMMENT '(DC2Type:array)'