dennismonsewicz
dennismonsewicz

Reputation: 25542

rails 3, multiple database connections and setting up models

When working with multiple database connections and setting up models to work with those different instances, how do you setup the has_many, has_one, belongs_to, etc?

For example:

I have one database that is Read + Write, the other DB instance is used in my Rails app as Read only. The DB table that is Read only I am pulling back a list of Media items (Videos, Images and Audios). In my Read + Write DB I have a media_ratings table.

I have a model called AvMedia (The Read only DB) and a MediaRating Model (Read + Write DB). How do I setup The AvMedia model like so: has_one rating and setup the MediaRating model like so: has_many AvMedia?

Sorry if this is confusing... I tried to explain it the best I could.

Upvotes: 1

Views: 880

Answers (1)

Chuck Callebs
Chuck Callebs

Reputation: 16431

In the AvMedia model you must include has_one :rating and just make sure that in the corresponding table you have a rating_id foreign key. You also need belongs_to :avmedia in your rating model.

A lot of magic goes on behind the scenes to automatically link your tables together when you define a relationship.

It sounds like you don't need the has_many for AvMedia - from what you said it appears that it's a 1-1 relationship (one AvMedia has one rating, one rating corresponds with one AvMedia). If this is incorrect, let me know.

Upvotes: 1

Related Questions