Как обрабатывать MigrationSchemaMissing Невозможно создать таблицу django_migrations (отношение "django_migrations" уже существует )

Наша система столкнулась с некоторыми странными проблемами в производстве, которые я не мог выяснить до недавнего времени. Я добавил Sentry в Django backend для отправки отчетов об ошибках и столкнулся с проблемой миграции/синхронизации базы данных. Ошибка возникает, когда выполняется команда django python manage.py migrate (на самом деле python manage.py migrate_schemas, поскольку мы используем пакет django-tenant-schemas).

Ошибка выглядит следующим образом:

Traceback (most recent call last):
  File "/backend/manage.py", line 21, in <module>
    main()
  File "/backend/manage.py", line 17, in main
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.9/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.9/site-packages/django/core/management/__init__.py", line 413, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.9/site-packages/django/core/management/base.py", line 354, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/lib/python3.9/site-packages/django/core/management/base.py", line 398, in execute
    output = self.handle(*args, **options)
  File "/usr/local/lib/python3.9/site-packages/django_tenants/management/commands/migrate_schemas.py", line 89, in handle
    executor.run_migrations(tenants=tenants)
  File "/usr/local/lib/python3.9/site-packages/django_tenants/migration_executors/standard.py", line 14, in run_migrations
    run_migrations(self.args, self.options, self.codename, schema_name, idx=idx, count=len(tenants))
  File "/usr/local/lib/python3.9/site-packages/django_tenants/migration_executors/base.py", line 45, in run_migrations
    migration_recorder.ensure_schema()
  File "/usr/local/lib/python3.9/site-packages/django/db/migrations/recorder.py", line 70, in ensure_schema
    raise MigrationSchemaMissing("Unable to create the django_migrations table (%s)" % exc)
django.db.migrations.exceptions.MigrationSchemaMissing: Unable to create the django_migrations table (relation "django_migrations" already exists
)

У меня есть резервные копии за 1 месяц, но эта проблема, должно быть, возникла до этих резервных копий, потому что они не исправили проблему.

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

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

Вернуться на верх