Jakou DB vrstvu pro projekt typu ČSFD
- Jan Voráček
- Člen | 90
Zdravím,
máme rozmyšlený jeden projekt typově trochu podobný ČSFD. Koketujeme teď s myšlenkou, zda použít ORM – konrétně Doctrine, nebo na takový projekt nasadit spíš NotORM, případně Nette Database nebo dibi.
Z mého pohledu má projekt na NotORM strmější křivku prvotního vývoje než na Doctrine, ale otázkou je, jak moc budou náročné případné změny. Do teď jsem dělal spíš takové rychlovky a ne projekt, který bych chtěl několik let udržovat v chodu a postupně ho rozvíjet.
Co byste poradili a na jaké útrapy se připravit?
- Jan Tvrdík
- Nette guru | 2595
Dlouhodobě udržitelné pro větší projekt je imho použití Doctrine (nebo jiné dobré ORM) a dibi (s nějakou abstrakcí).
- Lopo
- Člen | 277
NotORM neni podla mojich skusenosti vhodne na take velke veci – teraz prerabam na Nette+NotORM nejake veci a uz som par krat narazil, dokonca az tak ze som musel na par veci pridat inu DB vrstvu (konkretne sa pouzilo fluentPDO)
niektore veci sa daju poriesit pridanim podpory vlastnych JOINov (https://github.com/…ull/32/files) a fetchSingle (https://github.com/…ull/33/files) … ale nestaci to – problemy nastavaju hlavne ak tabulky v DB nejsu idealne navrhnute/vytvorene, tj vazby cez stlpce bez primarykey, cez nestandartne pomenovane stlpce a pod.
takze obecne sa da povedat ze pre pouzitie NotORM musi by aj prisposobena DB – ale ani potom by som sa asi nespoliehal na to ze NotORM bude postacovat
- ic
- Člen | 430
Jan Voráček napsal(a):
Zdravím,
máme rozmyšlený jeden projekt typově trochu podobný ČSFD. Koketujeme teď s myšlenkou, zda použít ORM – konrétně Doctrine, nebo na takový projekt nasadit spíš NotORM, případně Nette Database nebo dibi.
…
Tohle je asi otázka roku. Taky to stále řeším a měl bych to měl rád rozhodnuté, ale vážně nevím.
- Jan Voráček
- Člen | 90
Díky za reakce. Dopadlo to přesně tak, jak jsem si myslel :) Kdyby k tomu ještě někdo další chtěl něco dodat, klidně se rozepište. Řekl bych, že tohle je problém, který bude vrtat v hlavě více lidem.
@ic: Člověku asi nezbude než s něčím začít a posléze zjistit, zda to byl správný nebo špatný krok :)
- JakubJarabica
- Gold Partner | 184
Síce trošku neskôr, ale predsa. Mám projekt so 70+ tabuľkami(v princípe nič zložité, len veľa jednoduchých vecí dokopy) a pracujem na ňom už cca rok a pol a veľmi mi vyhovuje dibi s jemnou abstrakciou. Z koncepčného hľadiska to samozrejme správne nie je – je to niečo ako table data gateway nabušené dosť magickými metódami(existsBy{column}, findAllBy{Column}, findOneBy{Column}), ale robím na tom a budem len sám a mám veľmi prehľadné presentery(zvyčajne model mám v private atribúte). Všeobecne podľa typu projektu volím medzi dibi a Doctrine, ale vzhľadom na charakter projektov, ktoré robím, veľmi často víťazí pragmatické dibi.