So che questa domanda potrebbe essere chiusa come basata sull'opinione pubblica, ma ciò di cui ho bisogno in questo momento sono alcune opinioni supportate da argomenti.
Sto costruendo un'applicazione con Postgres ed Ecto (Elixir) come livello di persistenza. C'è un'entità che si riferisce a se stessa in modo che tu possa costruire una struttura ad albero con essa. Più sto cercando di farlo con Ecto, più mi sento frustrato.
Gli ORM sono semplicemente un cattivo strumento per la creazione di strutture DB complesse con molte associazioni? Il modo orientato agli oggetti che ORM tenta di applicare sui dati relazionali sembra essere un approccio negativo qui. Gli oggetti sono isolati Se interagiscono con altri oggetti, devono (dovrebbero) inviare messaggi. I loro dettagli interni dovrebbero rimanere nascosti. I dati relazionali formano un grafico aperto e trasparente. Questi due mondi sembrano essere completamente incompatibili con me.
Tuttavia, gli ORM sono molto comuni e popolari. La maggior parte delle applicazioni web funziona con entità piuttosto isolate che funzionano bene con ORM, o perché è così? Mi sembra che se volessi implementare un modello ERD mediamente complesso usando un framework ORM, devi sacrificare codice o prestazioni concise.