[Doctrine] MySQL の TEXT 型を使用する
※Doctrine 2.3 以下でのお話です。
MySQL のカラムにTEXT
型を使おうとして普通に type を text にするとLONGTEXT
型になってしまいます。
/** * @ORM\Column(type="text") */ private $title;
※コンソール結果
$ php app/console doctrine:schema:create --dump-sql > CREATE TABLE ... title LONGTEXT NOT NULL, ...
どうやら length を 65532 にするとTEXT
になるようです。
/** * @ORM\Column(type="text", length=65532) */ private $title;
※コンソール結果
$ php app/console doctrine:schema:create --dump-sql > CREATE TABLE ... title TEXT NOT NULL, ...
因みに 255 でTINYTEXT
, 16777215 でMEDIUMTEXT
, それ以上はLONGTEXT
になるみたいですね。
詳しくは Doctrine/DBAL/Platforms/MySqlPlatform を御覧ください。
追記
※バージョン2.4からはTEXT
の長さが 65535 になるようです。
Doctrine/DBAL/Platforms/MySqlPlatform