Autor | Zpráva | ||
---|---|---|---|
Jirin Profil |
#1 · Zasláno: 13. 11. 2013, 23:02:21
Jak řešíte ENUM v Doctrine? Článek v dokumentaci (http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/cookbook/mysql-enums.html) jsem samozřjmě četl. Nicméně zajímá mě spíše reálné užití v praxi. Používáte ENUM (slyšel jsem na něj pěkné pořekadlo "koho enum napadne, tomu ruka upadne" :-), nebo mapujete na tinyint, případně varchar. Budu rád i za odůvodnění proč je to lepší.
Já najednu stranu čtu negativa na ENUM jako datová typ, ale zase někdo to doporučuje, tak nevím, jestli jej vůbec používat. |
||
Jan Tvrdík Profil |
Jirin:
Já jsem vyřešil enum pomocí parametru columnDefinition :
/** * @var string * @ORM\Column(type="string", nullable=false, columnDefinition="ENUM('even','odd','both') NOT NULL") */ private $week; V Symfony konfigurace pak: doctrine: dbal: mapping_types: enum: string |
||
Jirin Profil |
#3 · Zasláno: 14. 11. 2013, 20:23:53
Díky za reakci, takhle podobně jsem to taky řešil, trošku nepříjemné je, že by to při každém orm:schema:update vypisuje novy alter prave kvůli tomu ENUMu
nicméně jde mi o to také, zda je opravdu vhodné ten ENUM používat, přeci asi není nativně v doctrine asi jen tak pro nic za nic, tak jestli není lepší právě varchar či tinyint |
||
Jan Tvrdík Profil |
Jirin:
„přeci asi není nativně v doctrine asi jen tak pro nic za nic“ Jediný důvod, proč není v Doctrine (pokud vím), je, že není součástí standartu SQL. |
||
Jirin Profil |
#5 · Zasláno: 14. 11. 2013, 23:28:24
Mě právě zároveň "děsila" ta věc, že je proti němu taková vlna averze na některých fórech. Ale asi je tedy v praxi používán normálně.
|
||
Časová prodleva: 10 let
|
0