pushing it will not affect your records (unless you have some special code that resets the db each time you do a push - never heard of such cases, but who knows), only new migration will be executed to add new column so you'll end up having lots of portofolios with no image.
rails app saves all migrations
numbers into schema_migration
table in db
, so next time you'll run a migration
it will migrate only the ones that are not in schema_migration
.
in my case if I'll run migration only 20140109214830_add_is_new_to_messages
will be migrated as its number is not schema_migration
, it works this way on local machine and the same when pushing.

after migrating it, migration number will be saved into schema_migration
table (line 44):
git push heroku master && heroku run rake db:migrate && heroku restart