I'm trying to deploy a rails app to Heroku and I'm running into some basic git problems. I'm new to this all -- rails, git, heroku -- so I'm afraid I'm getting lost on what's probably a fairly basic concept.
I've pushed the app to Heroku, but when I'm migrating the db ($ heroku rake db:migrate), I keep getting the following error:
rake aborted!
Multiple migrations have the name CreateFavorites
Checking my github repository, and sure enough, there are two migrations:
20101007030431_create_favorites.rb
20101012173735_create_favorites.rb
The first file -- 20101007030431_create_favorites.rb -- does not exist in my local app, and yet it's still in the github repository after I commit. How can I remove this file and get my repository and local app in sync?
Thanks in advance.
After working on a Rails project for months, it's not unusual to have hundreds of migration files in the db/migrate folder. Turns out, you can safely delete the ones that already ran in production, keeping your codebase small.
If you type "git status" it should show the inconsistency. It will say something like this:
# On branch master
# Changed but not updated:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: db/migrate/20101007030431_create_favorites.rb
So just follow the instructions there. To permanently remove it from the repository, type:
git rm db/migrate/20101007030431_create_favorites.rb
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With