Suggestions for a complex model appreciated

I have a rather complex legacy db I’d like to access via ActiveRecord
and I’m not sure how to model it wisely.

I have a lot of tables that follow the following format:

Table name: CDM_CONFIGURATION_ITEMS
Primary key: CIT_OID

Then extra columns for CI’s in another table:

Table name: CDM_CONFIGURATION_ITEMS_X
Primary key: XCIT_CIT_OID <-- links to the CIT_OID above

And not to be to simple, a bunch of more extra columns in tables such
as:

Table name: CDM_CONFIGURATION_ITEMS_X_SD_1
Primary key: XCIT1_CIT_OID <-- links to the CIT_OID in the top level

Table name: CDM_CONFIGURATIO_ITEMS_X_SD_10
Primary key: XCIT10_CIT_OID

Now if I make a normal model I’d access the extra columns like:
ci.ci_x_1.xcit1_maximum_installations
which doesn’t seem like fun at all, since I’d always have to look up
which table each column is in from a list. There are a lot of columns
per table and listing them all for send() in the main model doesn’t look
like an elegant solution either and would require a lot of handiwork to
collect all the column names. I guess iterating through all the extra
models and asking if they have the method requested via method_missing
would cause AR to fetch the row in question from every table? Of course
the column names could be cached… Getting complicated. Ideas?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs