2011-02-06 7 views
8

¿Cuál es la forma correcta de agregar una relación FK en rieles DESPUÉS de que se hayan creado las tablas? He definido mi relación en mi modelo, pero ¿tengo que agregar el campo _id_ [forense] a la tabla utilizando la migración de generación? o hay otra opción?Agregar clave externa después de la creación de la aplicación en Rails

+3

Las migraciones son la forma en que * cualquier * cambio a la base de datos. –

Respuesta

14

Usted definitivamente necesita para crear una nueva migración:

rails g migration add_foreign_key_to_model_name_pluralized foreigntable_id:integer 

ejemplo:

rails g migration add_foreign_key_to_users profile_id:integer 
2

Es necesario utilizar una joya como extranjero para agregar la restricción FK a la base de datos. La respuesta de @apneadiving agrega una columna "profile_id" a la tabla de usuarios. Es una relación como se establece, pero no una restricción en el DB. Solo pensé en señalarlo ya que estoy haciendo algo similar en este momento.

Cuestiones relacionadas