So this was a bit of a baby puncher this arvo…
If you add a column in a rails migration, rails will NOT correctly save to column in the same migration. You can access it and assign to it, but it will not be saved to the database ever.)
For example if you have something like:
class UpdateSubscriptions < ActiveRecord::Migration
add_column :subscriptions, :user_id, :integer
Subscription.all.each do |s|
s.user = User.find_by_subscription_key( s.key )
Rails happily ignores your change and silently only updates the "updated_at" column (if you have timestamp columns).
So split this into 2 migrations! Or perhaps some amount of "reload!" type action might work as well..