Zaczynam korzystać z ORM zalecanego przez wybrany przeze mnie framework i chociaż podoba mi się pomysł dodania warstwy abstrakcji zapewnianej przez ORM, zaczynam rozumieć, co to naprawdę oznacza. Oznacza to, że nie pracuję już z moją bazą danych (mysql), a wszelkie funkcje specyficzne dla mysql zniknęły za oknem, jakby nie istniały.
Idea ORM polega na tym, że stara się mi pomóc, czyniąc bazę danych agnostyczną. Brzmi świetnie, ale często nie jest to powód, dla którego wybrałem system konkretnej bazy danych. Ale idąc trasą agnostyczną bazy danych, ORM przyjmuje najniższy wspólny mianownik, co oznacza, że otrzymuję najmniejszy zestaw funkcji (obsługiwanych przez wszystkie bazy danych).
Co zrobić, jeśli wiem, że na dłuższą metę nie będzie przełączenie podstawowej bazy danych? Dlaczego nie uzyskać dostęp do funkcji specyficznych dla bazy danych, zbyt?