Zgodnie z obietnicą tym razem opiszę nieco bardziej zaawansowane możliwości definiowania ograniczeń na poziomie bazy danych. Naszą ulubioną bazą jest PostgreSQL, zatem przykłady będą oparte właśnie na niej - niemniej przynajmniej niektóre z tych mechanizmów są również zaimplementowane w innych RDBMS.....
Po tym nieco przewrotnym tytułem chciałem opisać parę słów na ten tzw. constraintów w bazie danych, których najczęściej spotykanym przykładem są właśnie klucze obce. Jak donosi Google, twórcy Rails nie są wielkimi fanami tychże, zresztą najlepszym dowodem jest brak wsparcia dla FK (Foreign Keys) w defaultowej dystrybucji RoR - potrzebne są pluginy takie jak redhillonrails_core (polecam zresztą również inne pluginy tej firmy)....
Cache i kwestie związane z jego utrzymaniem i ekspiracją nie są zapewne obce żadnemu programiście Rails mającemu na swoim koncie jakąkolwiek aplikację "produkcyjną"....
W poprzednim poscie opisałem typowe problemy współbieżnościowe i zaproponowałem ich rozwiązania, natomiast teraz chciałbym uzupełnić ten opis o sposoby testowania pod kątem współbieżności w sposób jak najbardziej zgodny z filozofią Rails....