Psycopg2.errors.UndefinedTable: отношение "libman_classbooks" не существует

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

relation "libman_classbooks" does not exist

Когда я пытаюсь внести некоторые изменения в модели, сохраняю и пытаюсь запустить makemigrations и migrate. это не проходит, но возвращается.

django.db.utils.ProgrammingError: relation "libman_classbooks" does not exist.

Я был вынужден предположить, что мне нужно вручную создавать таблицы в базе данных. Используя CREATETABLE. Однако я не знаю, является ли это лучшим вариантом. Итак, я думаю мой вариант возможен в разработке с помощью pgAdmin, но как насчет производства? Если CREATETABLE - лучший вариант, то как я сделаю это для производственной базы данных? У меня уже есть данные в моей базе данных, которые не нуждаются во вмешательстве.

Если у вас возникла проблема такого типа Created a Custom_user model but not able to make connection or getting issue when we are running command docker-compose

Ответ -

  1. Чтобы решить эту проблему, вам нужно закомментировать 'django.contrib.admin' эту строку в файле settings.py в разделе installed app, а затем выполнить команду docker exec -it <db-container name or ID> psql -U postgres и проверить, существует ли ваша база данных или нет, если существует, то удалите БД и создайте новую БД с тем же именем.
  2. После создания БД снова запустите docker-compose up Теперь он будет работать и снова откомментируйте строку, которая была закомментирована в settings.py
  3. .
  4. Другой подход В случае, если он не работает, добавьте эту строку в settings.py в разделе installed app 'app.apps.AppConfig'затем запустите docker- compose up он будет работать для вас.
Вернуться на верх