Live geek or die tryin'

Symfony2: Utiliser Des Types De Données Non Supportés Par Doctrine

Doctrine2, en tant qu’ORM, doit assurer la compatibilité des types de données (varchar, integer, datetime, etc…) entre différents SGBD, et ne supporte donc pas certains types propres à MySQL (dans mon cas).
Il est cependant possible de lui ajouter des types manuellement, mais la procédure est assez longue et n’en vaut pas la peine à mon avis.

Si vous êtes sûr que votre site n’utilisera qu’un seul SGBD et que ça ne va pas changer plutard, vous pouvez spécifier, dans vos annotations, une partie du code SQL qui servira à générer le champ.

Exemple

Pour générer un champ tinyint qui est NOT NULL et qui a une valeur par défaut de 10, voici le code nécessaire:

/**
* @ORM\Column(columnDefinition="tinyint(4) NOT NULL DEFAULT '10'", name="foo")
*/
protected $foo;

A vous d’adapter ce code pour votre cas. ;)

Comments