действительно сломанные миграции Джанго - PullRequest
1 голос
/ 30 сентября 2019

Когда я запускаю makemigrations, а затем мигрирую, я получаю следующий вывод:

(roundwellenv) ruben@ruben-H81M-D2V:~/roundwell$ ./dev_migrations.sh 
No changes detected in apps 'contenttypes', 'parents', 'admin', 'tips', 'tutors', 'login', 'auth', 'quiz', 'sessions'
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, login, parents, quiz, sessions, tips, tutors
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0001_initial... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying login.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying parents.0001_initial... OK
  Applying quiz.0001_initial... OK
  Applying sessions.0001_initial... OK
  Applying tips.0001_initial... OK
  Applying tutors.0001_initial... OK
(roundwellenv) ruben@ruben-H81M-D2V:~/roundwell$ python manage.py createsuperuser

You have 21 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, login, parents, quiz, sessions, tips, tutors.
Run 'python manage.py migrate' to apply them.

Я знаю, что что-то действительно не так, потому что даже если я удаляю содержимое pycache и содержимое из папок миграции и чистую базу данных sqlite3 db itна самом деле не находит никаких миграций, которые нужно применить, если я не укажу приложения, для которых я хотел бы создать миграции. Любая подсказка относительно того, что может быть причиной этого? Я подозреваю, что это может быть мое специальное приложение для входа в систему, но как только миграция завершена (как они выполняются в системе, здесь фактически запущен сайт), БД работает нормально.

1 Ответ

1 голос
/ 30 сентября 2019

Попробуйте выполнить следующее, , находясь в папке вашего проекта:

find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
find . -path "*/migrations/*.pyc"  -delete

Затем удалите базу данных sqlite и повторите попытку миграции.

Убедитесь, что вы находитесь в папке вашего проекта, иначе эта команда прервет загрузку Django!

...