Mam pewną bazę, której nie mogę zmieniać. Wszystko jest ponazywane po polsku, bez zachowania żadnej konwencji ani logiki. No ale nic nie mogę ruszyć.
Nazwę tabeli dla modelu mogę sobie ustawić przez
class User < ActiveRecord::Base
set_table_name "osoba"
end
Czy jest jakaś możliwość ustawienia nazw kolumn dla pól w modelu? Załóżmy, że mam w tabeli osoba kolumnę imie, to coś w stylu
class User < ActiveRecord::Base
set_table_name "osoba"
set_column_for_attribute "name", "imie"
end
i bym miał wtedy w obiektach User pole name, które by odpowiadało kolumnie imie z bazy.
Chodzi mi o ukrycie tych polskich nazw z bazy, a nie o coś takiego
[code]class User < ActiveRecord::Base
set_table_name “osoba”
Domyślam się, że problemy Twojego schematu nie kończą się do polskim nazewnictwie. Czy występują tam klucze złożone, klucze nieliczbowe, procedury składowane, wyzwalacze i inne cuda?
Powiedzmy sobie jasno: pracując nad taką bazą stracisz większość zalet Rails.
Osobiście próbowałbym tak: jeśli schemat jest nieduży i udałoby mi Ci się szybko odciąć od niego za pomocą zapisywalnych widoków (co jest mało prawdopodobne), pozostałbym przy Rails.
W przeciwnym wypadku należy poważnie rozważyć wybór innej platformy. Np. ASP.NET
Baza nie jest jakoś mocno skomplikowania, klucze tylko proste liczbowe, żadnych triggerów, procedur. Chyba najlepszym wyjściem będą zapisywalne widoki. Baza jest akurat na Postgresie, więc nie będzie problemu.