Doctrine2, Mysql, virtuální sloupec rubrika: Databáze: SQL
![](http://devel.cz/sites/default/files/imagecache/user_image_signature/pictures/picture-1583.jpg?1412540646)
Zdravím.
Používám Doctrine2 s MySQL. Mám virtuální sloupec nějak takto:
ALTER TABLE `table` ADD `col` decimal(15,5) GENERATED ALWAYS AS (`col1` + `col2`) VIRTUAL;
Metadata mám uložené v yml souborech (deprecated, vím):
col: type: decimal precision: 15 scale: 5 options: generated: (col1 + col2) virtuality: virtual comment: komentář
Zlobí to, protože to chce ukládat i do tohoto sloupce:
"An exception occurred while executing 'INSERT INTO ...: SQLSTATE[HY000]: General error: 3105 The value specified for generated column 'col' in table 'table' is not allowed."
Poradíte prosím co s tím?
Mé znalosti Doctrine jsou omezené. Takže odhaduji, že buď mám špatně nastavené, nebo by šlo explicitně zakázat ukládat nějaký sloupec, nebo něco jiného.
Předem díky.
![](http://devel.cz/sites/default/files/imagecache/user_image_signature/pictures/picture-1583.jpg?1412540646)
Tak řešení je ve skutečnosti docela jednoduché.
V prvé řadě musím začít myslet.
Pokud nechci, aby Doctrine ty sloupce ukládala, tak je vůbec nebudu psát do těch metadat. Getter si vytvořit můžu, to jí nevadí, a akorád do něj zduplikuju tu logiku, kterou mám v tom virtuálním sloupci. Tím je splněno, že sloupec v databázi bude, atribut entity taky, a virtuální sloupec se neukládá - vyřešeno.
Pro zobrazení všech 3 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře