Difference between rake db:migrate db:reset and db:schema:load has a great explanation of what the various rake db:*
commands do.
Because rake db:reset
performs a db:schema:load
, it's loading the old columns from your table, rather than calling db:migrate
, this is why your migration isn't being run.
Consider writing a migration that changes the names of those columns, rather than re-creates an existing table, or manually run rake db:drop; rake db:create db:migrate