Inna nazwa pól w modelu inna kolumn w bazie

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”

def name
self.imie
end
end[/code]

Pierwsza myśl, która przychodzi mi do głowy to użycie widoków.

Poczytaj HowToUseLegacySchemas.

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.