Почему миграция не работает после извлечения из мерзавца? - PullRequest
0 голосов
/ 02 октября 2019

Я работаю совместно с некоторыми участниками над проектом Django. Они работают на Windows, а я на Ubuntu. Моя проблема в том, что каждый раз, когда я извлекаю из git и применяю python manage.py migrate , я предлагаю ввести python manage.py makemigrations --merge . Вслед за предложением, введите python manage.py migrate, но он показал следующие ошибки:

django.db.utils.ProgrammingError: столбец "first_name" отношения "account_appuser" не существует

django.db.utils.ProgrammingError: столбец "login_id_id" отношения "account_appuser" не существует

При 1-й ошибке из файла миграции я удаляю эти addfield операций и для 2-й ошибки из файла миграций я удаляю removefield операций Теперь я должен проверить каждый файл миграций, где возникла такая проблема.

С другой стороны,другие члены команды не сталкивались с такой проблемой, они применяют только python manage.py makemigrations --merge и python manage.py migrate .

Этопроисходит из-за разных операционных систем? и любое альтернативное решение этой проблемы.

Я новичок на этом сайте, поэтому, пожалуйста, помогите мне с предложением. Спасибо

1 Ответ

0 голосов
/ 02 октября 2019

Django хранит все миграции, выполненные в папке миграций вашего конкретного приложения. Это иногда вызывает косую черту!

Решение, которое вы можете попробовать, заключается в том, чтобы сказать своему другу, чтобы он не фиксировал папку миграций. и удалите папку миграций из git.

А затем, когда вы выполняете git pull, вы можете выполнять миграции, которые начнутся с начальной.

Другое решение: makemigration с каждым приложением.

python manage.py makemigration <appname>

и миграция --fake

python manage.py migrate --fake

Это может решить вашу проблему!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...