1

I have an Django 2.1 / Python 3.6 application running on Heroku's hobby account. The first version of this deployment went smoothly. Now I needed to add more fields to existing models and also add additional models from my local setup (which is running very smoothly with the changes) to Heroku. I do the usual

git push heroku master

to get the new code over to Heroku. Then I do both

heroku run python manage.py makemigrations
heroku run python manage.py migrate

The first step gives me

Running python manage.py makemigrations on ⬢ hirt-family-v4... up, run.3753 (Free)
Migrations for 'users':
users/migrations/0005_auto_20190425_1452.py
- Create model XtraPhotos
- Add field phone_number to person
- Add field parent to xtraphotos

which is fine, but the migrate is also coming back with the message

Running python manage.py migrate on ⬢ hirt-family-v4... up, run.5929 (Free)


Operations to perform:


Apply all migrations: account, admin, auth, contenttypes, sessions, sites, users


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.

I tried to go step by step, meaning I add each missing field one after the other, but this also leads to the essentially same problem.

1 Answer 1

3

Don't use heroku run to create the migration files.

  1. Run python manage.py makemigrations locally
  2. Check-in the new migration files
  3. Push changes to git
  4. Now, you can migrate your database with heroku run python manage.py migrate
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.