Django на Heroku - добавьте новые модели в базу данных postgreSQL - PullRequest
1 голос
/ 25 апреля 2019

У меня в хобби-аккаунте Heroku работает приложение Django 2.1 / Python 3.6. Первая версия этого развертывания прошла гладко. Теперь мне нужно было добавить больше полей к существующим моделям, а также добавить дополнительные модели из моей локальной установки (которая работает очень гладко с изменениями) в Heroku. Я делаю обычные

git push heroku master

чтобы передать новый код Heroku. Тогда я делаю оба

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

Первый шаг дает мне

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

это нормально, но миграция также возвращается с сообщением

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.

Я пытался идти шаг за шагом, то есть я добавляю каждое пропущенное поле одно за другим, но это также приводит к по существу той же проблеме.

1 Ответ

2 голосов
/ 25 апреля 2019

Не используйте heroku run для создания файлов миграции.

  1. Выполнить python manage.py makemigrations локально
  2. Регистрация новых файлов миграции
  3. Нажмите изменения в git
  4. Теперь вы можете перенести базу данных с помощью heroku run python manage.py migrate
...