Normally when do a database migration in Rails, when adding ownership from a model to another model, you use the concept of belongs_to or references:
1 2 3 4 | create_table :comments do |t| t.belongs_to :user t.references :post end |
Interestingly enough, these methods are only available during the initial table creation. If you want to add a reference to a model that is created later, you have to do it the old fashioned way, by just adding a column:
1 | add_column :comments, :group_id, :integer |
Doing it this way is clean, easy, and definitely meets the KISS principle. But I do find it interesting that one can’t add an association later in the game. Sometimes the Rails way is just KISS and adding the column by hand.