Cuando creamos las tablas desde las migrations y queremos relacionar una tabla con otra mediante una clave esterna, tenemos que crear “a mano” esas llaves.
Gracias al plugin Foreign Key Migration de RedHill esto nos lo hace de forma automática la ejecutar db:migration. Teneis la documentación del plugin aquÃ.
Solo tenemos que instalar el plugin
ruby script/plugin install http://www.redhillonrails.org/svn/branches/stable-1.2/vendor/plugins/foreign_key_migrations
Y también el RedHill on Rails Core
ruby script/plugin install http://www.redhillonrails.org/svn/branches/stable-1.2/vendor/plugins/redhillonrails_core
Nota: Si falla comprueba que todas las tablas a las que haces referencia en las definiciones de la migración han sido creadas anteriormente.
A la hora de ver si todo ha funcionado correctamente podemos usar la aplicación DbVisualizer que nos crea unos bonitos gráficos con las tablas relacionadas.

Actualización:Â
Si no quieres instalar un plugin puedes seguir los pasos de este post en el que explica como crear un Helper para las migrations. Creo que es mas sencillo y práctico de esta manera.
