Article View: pl.comp.lang.php
Article #232433Re: Symfony 4 - jak projektować bazę danych pod Doctrine?
From: Marek S
Date: Wed, 24 Apr 2019 17:29
Date: Wed, 24 Apr 2019 17:29
75 lines
4576 bytes
4576 bytes
W dniu 2019-04-23 o 22:47, Wojciech Bancer pisze: > Ale po co Ci ORM w takim razie? > Może chcesz mieć coś w tym stylu: > http://www.pomm-project.org/ Bardzo ciekawe rozwiązanie. Zainteresuję się nim. Ale jest jeszcze jedna rzecz. Moją intencją jest biegłe opanowanie Doctrine z uwagi na to, że w pracy będzie mi to potrzebne. Realizacja jakiegoś własnego przedsięwzięcia w Doctrine + PostgreSQL + optymalizacja korzystania z bazy przez Doctrine, byłaby dla mnie cenną lekcją. Tak, pamiętam Twoje słowa. Zamiast przyspieszyć 10x procesy w bazie, np. poprzez dołożenie triggerów odciążających ORM, czy przebudowanie/dodanie indeksów, wolisz postawić 10 serwerów. Ja preferuję inne podejście: zoptymalizować bazę, a gdy już więcej się nie da - wtedy zająć się infrastrukturą sprzętową. Tego nie zmienię w sobie. >> Nie rozumiem? Co to jest "coś" do Postgresa? Masz na myśli dedykowany >> ORM? Nie da się Doctrine tak oprogramować, by korzystała z ficzerów >> Postgresa? > > Dać to się wszystko da, kwestia czasu i środków. > Ale jak dotychczas chyba nie było zapotrzebowania, bo nic tego typu > opensource nie powstało (albo nie zostało wystarczająco rozreklamowane). Zostało rozreklamowane nie jeden raz. Ostatnio rowery trójmiejskie stanęły - to dobra reklama beztroskiego korzystania z wszelkich udogodnień przez programistów, bez wnikania, co de facto będzie działo się w tle. ORM ma to załatwić i już. A jak się coś sypnie, skończy się jakaś sekwencja bo za krótka była (ORM taką sobie wygenerował) etc... wtedy powstaje problem. Zanika rozumienie nawet prostych SQLi. Jak dla mnie to czarny scenariusz dla rozwoju. Nie działa - wyrzucamy i robimy kolejnego bubla. > Doctrine ma kompatybilność jako cel nadrzędny, więc może jednak ten > ORM nie jest dla Ciebie? Tak jak napisałem powyżej - raczej muszę się go trzymać z uwagi na pojawiające się zadanie w najbliższej przyszłości. Im więcej będę potrafił wycisnąć z tego ORM, tym lepiej dla mnie. Opanowanie CRUD nie jest moim celem. Opanowanie Doctrine - już tak. >> A mimo wszystko tenże ORM pozwala na użycie SQL'a w ramach własnych >> struktur... Tyle tylko, że samemu trzeba te parę linijek kodu >> niepotrzebnie dopisywać. > > No to po co Ci ORM jak chcesz używać SQLa? Ponieważ przyspiesza znacząco rozwój oprogramowania. Jeśli utworzę SQL, to nie oznacza to, że ORM nie będzie potrafił go wykorzystać w sposób zautomatyzowany. Przykład: obsługa zdarzeń ORMowych, którą mi sam zapodałeś. > >>> Laravel ma dodatkową metodę statyczną Model::destroy($id). >> No ale my o Doctrine... Z Laravelem już się pożegnałem. > > Da się i w doctrine, z użyciem query buildera. > https://stackoverflow.com/questions/15555042/doctrine-2-delete-with-query-builder (pierwsza odpowiedź) To ja wiem. To jest korzystanie z SQLa, do którego z awersją podchodzisz r=traktując go jako raka w ORMie. > Można też użyć PartialObject / PartialReference: > https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/partial-objects.html (...) > Działa przy różnego rodzaju joinach, czy update, może zadziałać i tu. Ok, to może mieć sens. Muszę to w głowie przekompilować. -- Pozdrawiam, Marek
Technical Details
Message-ID:
<q9q6ee$a2s$1@node2.news.atman.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mailReferences:
<q9foak$p72$1@node2.news.atman.pl> <slrnqboo9s.e87.wojciech.bancer@pl-test.org> <5cbf10a8$0$482$65785112@news.neostrada.pl> <q9ngu2$rla$1@node2.news.atman.pl> <szccfmi95el5$.xlp4ie6tp398.dlg@40tude.net> <q9nrgf$d0c$1@node1.news.atman.pl> <slrnqbuueh.2ui0.wojciech.bancer@pl-test.org>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: Marek S <precz@spamowi.com> Newsgroups: pl.comp.lang.php Subject: Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Date: Wed, 24 Apr 2019 19:29:42 +0200 Organization: ATMAN - ATM S.A. Lines: 75 Message-ID: <q9q6ee$a2s$1@node2.news.atman.pl> References: <q9foak$p72$1@node2.news.atman.pl> <slrnqboo9s.e87.wojciech.bancer@pl-test.org> <5cbf10a8$0$482$65785112@news.neostrada.pl> <q9ngu2$rla$1@node2.news.atman.pl> <szccfmi95el5$.xlp4ie6tp398.dlg@40tude.net> <q9nrgf$d0c$1@node1.news.atman.pl> <slrnqbuueh.2ui0.wojciech.bancer@pl-test.org> NNTP-Posting-Host: 89-70-94-204.dynamic.chello.pl Mime-Version: 1.0 X-Trace: node2.news.atman.pl 1556126990 10332 89.70.94.204 (24 Apr 2019 17:29:50 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Wed, 24 Apr 2019 17:29:50 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 In-Reply-To: <slrnqbuueh.2ui0.wojciech.bancer@pl-test.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit