Django и pgAdmin не согласованы друг с другом
Я пытался изменить порядок столбцов таблицы в таблице postgreSQL. Поскольку я только начинаю, мне показалось проще manage.py flush
создать новую БД с новым именем и применить миграции.
Я вижу, что новая БД в pgAdmin получила все миграции моделей Django, кроме моей модели/таблицы app. Я удалил все папки миграций (кроме 0001_initial.py
) и все равно, когда я запускаю python manage.py makemigrations
я получаю:
No changes detected
Но таблицы класса модели нет в БД. Когда я пытаюсь мигрировать модель приложения, он говорит:
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
No migrations to apply.
Есть ли способ удалить все таблицы, makemigrations
и migrate
, и postgres получит все таблицы? Есть идеи, почему postgreSQL/pgAdmin не может получить модель/таблицу моего приложения Django?
Вы можете выполнить миграцию конкретного приложения, используя следующие команды:
python manage.py makemigrations your_app_name
python manage.py migrate your_app_name
Это работает для меня.
Миграции для конкретных приложений в моем случае не работали.
python manage.py makemigrations your_app_name
python manage.py migrate your_app_name
Что удалось сделать, так это модифицировать модели, добавив дополнительную поддельную переменную, после чего все переменные (а не только дополнительная) подхватываются командами makemigrations
и migrate
. Это не очень умное решение, но оно помогло.