Django миграция несуществующего родительского узла после перемещения на рабочий сервер - PullRequest
0 голосов
/ 07 февраля 2020

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

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

У меня сейчас только одна первоначальная миграция, и все работает на моей локальной машине.

рабочий процесс идет как this:

1 - клонировать текущую версию, которую я использую, в PythonAnywhere. 2 - запустите ./manage migrate, чтобы инициализировать базу данных (самый первый раз) и получите ошибку:

(rwe) 17:00 ~/rwe (develop)$ ./manage.py migrate
asyncio      DEBUG    Using selector: EpollSelector
Traceback (most recent call last):
  File "./manage.py", line 21, in <module>
    main()
  File "./manage.py", line 17, in main
    execute_from_command_line(sys.argv)
  File "/home/IAMCB/.virtualenvs/rwe-Cn2YEGYr/lib/python3.7/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "/home/IAMCB/.virtualenvs/rwe-Cn2YEGYr/lib/python3.7/site-packages/django/core/management/__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/IAMCB/.virtualenvs/rwe-Cn2YEGYr/lib/python3.7/site-packages/django/core/management/base.py", line 328, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/IAMCB/.virtualenvs/rwe-Cn2YEGYr/lib/python3.7/site-packages/django/core/management/base.py", line 369, in execute
    output = self.handle(*args, **options)
  File "/home/IAMCB/.virtualenvs/rwe-Cn2YEGYr/lib/python3.7/site-packages/django/core/management/base.py", line 83, in wrapped
    res = handle_func(*args, **kwargs)
  File "/home/IAMCB/.virtualenvs/rwe-Cn2YEGYr/lib/python3.7/site-packages/django/core/management/commands/migrate.py", line 86, in handle
    executor = MigrationExecutor(connection, self.migration_progress_callback)
  File "/home/IAMCB/.virtualenvs/rwe-Cn2YEGYr/lib/python3.7/site-packages/django/db/migrations/executor.py", line 18, in __init__
    self.loader = MigrationLoader(self.connection)
  File "/home/IAMCB/.virtualenvs/rwe-Cn2YEGYr/lib/python3.7/site-packages/django/db/migrations/loader.py", line 49, in __init__
    self.build_graph()
  File "/home/IAMCB/.virtualenvs/rwe-Cn2YEGYr/lib/python3.7/site-packages/django/db/migrations/loader.py", line 274, in build_graph
    raise exc
  File "/home/IAMCB/.virtualenvs/rwe-Cn2YEGYr/lib/python3.7/site-packages/django/db/migrations/loader.py", line 248, in build_graph
    self.graph.validate_consistency()
  File "/home/IAMCB/.virtualenvs/rwe-Cn2YEGYr/lib/python3.7/site-packages/django/db/migrations/graph.py", line 195, in validate_consistency
    [n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
  File "/home/IAMCB/.virtualenvs/rwe-Cn2YEGYr/lib/python3.7/site-packages/django/db/migrations/graph.py", line 195, in <listcomp>
    [n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
  File "/home/IAMCB/.virtualenvs/rwe-Cn2YEGYr/lib/python3.7/site-packages/django/db/migrations/graph.py", line 58, in raise_error
    raise NodeNotFoundError(self.error_message, self.key, origin=self.origin)
django.db.migrations.exceptions.NodeNotFoundError: Migration backend.0001_initial dependencies reference nonexistent parent node ('auth', '0013_delete_users')
(rwe) 17:12 ~/rwe (develop)$

Сайт загружается, и я могу просматривать, и т.д. c .. Я просто не могу используйте все, что полагается на базу данных, учитывая, что первоначальная миграция не была применена.

Единственное реальное изменение между системами - это секретный ключ, отличный от производственного, и DEBUG = False

1 Ответ

1 голос
/ 10 февраля 2020

Я понял это.

Я обновил django с 2.2.3 до 3.0.3, и миграции, которые мне не хватает, должны быть сгенерированы во время моего использования 2.2.3.

работал для меня, но не для моего PythonAnywhere сервер. Я воссоздал свой virtualenv на моей машине разработчика и сбросил все мои миграции. Теперь все совпадает без проблем.

...