I have a legacy MySQL database with a weird naming convention - all
table and column
names have a prefix ‘_’ , which is annoying, and some of the column
names are misnomers.
I would like to apply a pre-defined mapping between MySQL column names
and method
names to be used in the Ruby class, without having the original column
names being visible anymore.
how can I pre-define a static mapping of all (legacy) column names to
different Class method names?
e.g.: given legacy schema:
Table _fix has columns:
_job
_ change
_date
_effect
When defining the Ruby class, I’d like to do something like this:
class Fix < ActiveRecord::Base
self.table_name = “_fix”
use_mapping ( # imaginary construct…
:_job => “job_id”,
:_change => “change_id” ,
:_date => “date” ,
:_effect => “status”)
self.primary_key = “job_id”
end
and want to access it like this:
Fix.find( id ).status = “partial fix”
which should acces the
Is there a way to do this?
thanks
Tilo