I recently added a model to my app (UserProfile) and when I pushed the changes to Heroku, I think I accidentally ran heroku run python manage.py makemigrations
. Now when I try to run heroku run python manage.py migrate
I get the error below
(leaguemaster) benjamins-mbp-2:leaguemaster Ben$ heroku run python manage.py migrate
Running `python manage.py migrate` attached to terminal... up, run.1357
Operations to perform:
Synchronize unmigrated apps: allauth
Apply all migrations: auth, admin, socialaccount, sites, accounts, account, contenttypes, sessions, leagueapp
Synchronizing apps without migrations:
Creating tables...
Installing custom SQL...
Installing indexes...
Running migrations:
No migrations to apply.
Your models have changes that are not yet reflected in a migration, and so won't be applied.
Run 'manage.py makemigrations' to make new migrations, and then re-run 'manage.py migrate' to apply them.
How do I fix this? Please help!
It sounds like you ran
makemigrations
after you made changes to your model but before you had an initial migration file. Try to revert your app to the state it was before you added the new model and runmakemigrations
again to create the initial migration. Then add your updates back in and runmakemigrations
once more. This will create a second migration from your initial data structure to the new updated one. Then try your deployment.https://docs.djangoproject.com/en/1.7/topics/migrations/#adding-migrations-to-apps
You need to first create the migrations locally, add them to your repository, commit the files with the new migrations and then push to heroku.
The sequence is something like this: