Sto iniziando a utilizzare l'ORM raccomandato dal framework che scelgo, e sebbene mi piaccia l'idea dello strato aggiuntivo di astrazione fornito da ORM, sto iniziando a capire cosa significhi realmente. Significa che non sto più lavorando con il mio database (mysql) e tutte le funzionalità specifiche di mysql sono sparite, fuori dalla finestra, come se non esistessero.
L'idea che ha l'ORM è che sta cercando di aiutarmi rendendo tutto il database agnostico. Sembra fantastico, ma spesso c'è una ragione per cui scelgo un sistema di database specifico. Ma seguendo il percorso agnostico del database, l'ORM assume il minimo comune denominatore, il che significa che finisco con il più piccolo insieme di funzionalità (quelle supportate da tutti i database).
Cosa succede se so che a lungo termine non cambierò il database sottostante? Perché non accedere anche alle funzionalità specifiche del database?