🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.php
Article #232397

Re: Symfony 4 - jak projektować bazę danych pod Doctrine?

#232397
From: Wojciech Bancer
Date: Tue, 23 Apr 2019 15:13
40 lines
2583 bytes
On 2019-04-23, ww <ww@o2.pl> wrote:

[...]

>> Myślę, że żaden ORM nie obsłuży triggerów.
>
> A w jaki sposób ORM miałby te triggery obsłużyć?

No obsługuje alternatywę, poprzez swoje zdarzenia.

Nie wiem w jaki sposób miałby to umożliwiać natywnie (czego chyba wymaga Marek S), 
biorąc pod uwagę niesamowity wręcz burdel i brak spójności w triggerach, pomiędzy 
różnymi typami baz.

> Bo ja ich używam do wielu rzeczy o których ORM kompletnie nie musi 
> wiedzieć.

To jest tak zwana zła praktyka. Potem inny programista siada i "rzeczy dzieją
się magicznie". Zresztą jest to jeden z głównych powodów by nie używać triggerów
(obok tego że to bazy danych są zazwyczaj najmniej skalowalnym i najwęższym
gardłem systemu i nie należy go nadmiernie obciążać).

W świecie w którym możesz mieć "na zawołanie" 1000 funkcji / kontenerów robiących coś 
równolegle na infrastrukturze cloud, odpalanych w sekundy, ale np. tylko 1-2 serwery baz 
danych, to jest oczywiste że dużo bardziej skalowalne są te ostatnie i należy je odciążyć
maksymalnie, a nie "dokładać" im niepotrzebnej tam roboty.

> I doctrine wspiera tworzenie różnych "nieporzenoszalnych"
> elementów składni SQL pod dany silnik.

Nie tyle "wspiera" co "umożliwia".

Ale koncept za jego rozwojem jednak jest taki, żeby nie dodawać rzeczy
niekompatybilnych będących specyficznymi wyłącznie dla jednego 
z obsługiwanych dialektów, chyba że nie ma innego wyjścia (jak mamy
np. w obsłudze primary keys i generation strategy.

-- 
Wojciech Bańcer
wojciech.bancer@gmail.com
Technical Details
Message-ID: <slrnqbuasg.28r5.wojciech.bancer@pl-test.org>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <q9foak$p72$1@node2.news.atman.pl> <slrnqboo9s.e87.wojciech.bancer@pl-test.org> <5cbf10a8$0$482$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Newsgroups: pl.comp.lang.php
From: Wojciech Bancer <wojciech.bancer@gmail.com>
Subject: Re: Symfony 4 - jak projektować bazę danych
 pod Doctrine?
References: <q9foak$p72$1@node2.news.atman.pl> <slrnqboo9s.e87.wojciech.bancer@pl-test.org> <5cbf10a8$0$482$65785112@news.neostrada.pl>
Organization: None
Date: Tue, 23 Apr 2019 17:13:17 +0200
User-Agent: slrn/1.0.3 (Darwin)
Mime-Version: 1.0
Message-ID: <slrnqbuasg.28r5.wojciech.bancer@pl-test.org>
Lines: 40
NNTP-Posting-Host: 46.227.242.29
X-Trace: 1556032400 unt-rea-a-01.news.neostrada.pl 492 46.227.242.29:52030
X-Complaints-To: abuse@news.neostrada.pl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit