Как получить тип Doctrine TEXT?

У меня есть эта аннотация:

/**
 * @ORM\Column(name="notes", type="string", length=65532, nullable=true)
 */
protected $notes;

В соответствии с этим документом - http://doctrine-dbal.readthedocs.org/en/latest/reference/types.html#id102, потому что он меньше 65535, он должен быть ТЕКСТ?

Но столбец создается как MEDIUMTEXT.

Как это исправить?

Ответ 1

Вы ссылаетесь на неверный тип в документации. В вашем коде у вас есть type="string", но ваша ссылка на документацию связана с type="object".

Если вы прочитаете часть таблицы выше в ссылочных документах, то увидите, что string преобразуется в VARCHAR в MySQL, если length не превышает максимальную длину для MySQL, и преобразуется в MEDIUMTEXT, если length превышает.

Но если вы хотите получить явное поле TEXT, вам нужно определить свой столбец с помощью type="text".