2010-08-03 11 views
5

Miałem nadzieję, że ktoś może zasugerować kilka najlepszych praktyk dotyczących konfigurowania aplikacji Railsowych przy użyciu bazy danych (tj. Utrzymywanie ustawień konfiguracyjnych w bazie danych zamiast w płaskim pliku). Moje rozumowanie polega na tym, że mam aplikację, która będzie działać na wielu serwerach i są pewne ustawienia konfiguracyjne, które są dość dynamiczne i chciałbym je zmienić bez konieczności wprowadzania zmian na każdym serwerze.Najlepszy sposób zarządzania ustawieniami konfiguracji aplikacji Railsy w bazie danych?

W innych językach, widziałem to zrobić za pomocą prostej tabeli konfiguracji (jak pary nazwa/wartość) i singleton, który eksponuje dane konfiguracyjne i okresowo dostaje odświeżony. Czy istnieje podobny - lub lepszy - sposób na zrobienie tego z Rails?

Z góry dziękuję.

+0

W moim poszukiwaniu pojedynczych odwołań do Ruby/Rails, mam natknąć się na wiele artykułów (w tym niektóre na SO), które podkreślają problemy ze wzorem Singleton. Nie jestem żonaty z tą implementacją - moim głównym zmartwieniem jest to, że mogę zaktualizować konfigurację w jednym miejscu i mieć wpływ na wszystkie wystąpienia aplikacji. Wolałbym nie mieć ruchomych części związanych ze zmianami w plikach skryptowych na wielu serwerach, więc moja baza danych była moim naturalnym wyborem. Każde rozwiązanie, które pozwala mi uniknąć aktualizacji konfiguracji wszędzie tam, gdzie działa aplikacja, jest w porządku. –

Odpowiedz

1

Nie najładniejsze rozwiązanie na pewno, ale jedną z rzeczy, które zrobiliśmy dla naszych wewnętrznych aplikacji jest stworzenie pola "config", które jest po prostu polem tekstowym zawierającym sparametryzowany hash. Następnie deserialize na obciążenie z db.

+0

Dzięki za sugestię. Czy używasz modułu ApplicationHelper do wysyłania zapytań/deserializacji/udostępniania metod typu getter do skrótu konfiguracji? Czy istnieje lepsze podejście? –

Powiązane problemy