If your has_and_belongs_to_many associations suddenly need to know more, its time to convert them to a real model.
- rename table
- add id
- add created_at/updated_at as not-null (need to set existing records to something)
Code
class CreateJoinModel < ActiveRecord::Migration
def change
rename_table :products_users, :purchases
add_column :purchases, :id, :primary_key
[:created_at, :updated_at].each do |column|
add_column :purchases, column, :timestamp, null: false, default: Time.at(0)
change_column_default :purchases, column, nil
end
end
end