On Jun 24, 9:27 pm, "Älphä Blüë" <[email protected]>
wrote:
> I just have a few questions about join tables.  From my understanding
> the following applies (correct me if I'm wrong):
>
> 1.Join tables are always named with the names of the two associated
> tables, in alphabetical order, separated by an underscore.
>
> 2.The foreign key fields are named with the name of the table they are
> referencing, with _id appended.
>
> 3.The foreign key is referencing a single element in that table, so it
> uses the singular name.

Correct.

>
> However, I've installed both of the following plugins:
>
> redhillonrails_core
> foreign_key_migrations

OK.  That will automatically generate foreign key constraints when you
have a *_id field in your migrations.

>
> So, as an example, let's say I created 32 tables with the following type
> of information:
>
>   def self.up
>     create_table :rushing_offenses do |t|
>       t.integer :team_id
[...]
>       t.timestamps
>     end
>   end
>
> And I want to create a join table for the team_id to associate with all
> those tables:
>
> How would I define the self.up for the join table?  Is the naming
> convention necessary per above?

No join table is necessary here, since you're not doing a many-to-many
association.  As long as the cardinality is 1 on at least one end of
the association, simple keys will do.  Of course, you'll want to put
has_many and belongs_to in the appropriate parts of your model code --
see the Association docs for information.

The fact that you're asking this question suggests that you need to
read a lot more about relational database design.  In particular, find
out about normalization and especially the Third Normal Form (which is
about as far as most people care to normalize without a good reason).

Best,
--
Marnen Laibow-Koser
http://www.marnen.org
[email protected]
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to