W przypadku Railsów wszędzie zalecają, że do modeli pakuje się wszystko co się da, a baza ma zero triggerów, checków, indeksów unikatowych itd. Jak w takim razie potem rozwiązujecie problem np. z importerem, zewnętrzną jakąś aplikacją, która ma działać szybko i zmieniać dane w bazie, np. parsuje plik xml i ładuje z niego dane do bazy. Teoretycznie szybciej będzie jak ta aplikacja sobie wrzuci wszystko używając prostych zapytań, ale skoro całe sprawdzanie danych jest w klasach AR, to wypadałoby to użyć.
Pytanie: ładujecie ograniczenia na dane TEŻ do bazy, czy trzymacie tylko w modelach? Co wtedy z zewnętrznym softem, który ma grzebać w danych?
Ja ładuje też do bazy
Jeśli się da to trzymam większość logiki w modelach AR. Łatwiej utrzymać taką aplikację i dokonywać zmian.
Do bazy dodaję tylko jeśli z jakiegoś powodu nie mogę użyć AR.
No właśnie też chcę tak robić… ino roboty 2 razy więcej i utrzymywanie spójności między aplikacją i bazę też nie będzie takie proste.
Zważając na fakt, że pewnie większość aplikacji nie potrzebuje szybkich masowych insertów nie warto wrzucać nic do bazy. Jeżeli Twoja aplikacja nie ma w planach czegoś takiego, to po co się tym przejmować na początku?