Ruby on Rails Database with foreign keys?


I started a project on Ruby on Rails some time ago when the migration
feature wasn't part of Rails. I used to have one big SQL file that
creates the whole database and adds the foreign constraints. They
looked like that:

CONSTRAINT FK_users_countries
        FOREIGN KEY FK_users_countries (country_id)
            REFERENCES countries(country_id)

Now I want to use migration features so I used

rake db:schema:dump

When I look at the schema.rb file i don't like what i see ;(. All the
tables are there but the are no primary keys and also there are no
Foreign Keys.

My question is can i use the ruby way to create foreign keys? And why

rake db:schema:dump

doesn't work?


Rails nerds are not big on FKs - I don't like it but if want to play
along - learn to.

You can put FK constraints in your migrations as SQL statements -
execute """ ALTER ..... """

The FK don't show up in the schema.rb - See first statement above

They cause problems with fixtures - See first statement above

google for the foreign key migrations plugin from redhill consulting. I use that on my rails apps and it works great.