Невозможно выполнить миграцию во второй базе данных Multi в Django

Я реализовал концепцию нескольких БД в моем проекте Django, где для всего проекта я использую БД по умолчанию, а для пользователей я использую отдельную БД

вот конфиги файла settings.py:


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': default_db,
        'USER': env('DB_USER'),
        'PASSWORD': env('DB_PASSWORD'),
        'HOST': env('DB_HOST'),
        'PORT': env('DB_PORT'),
    },
    'auth_db': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'user_auth_db',
        'USER': env('DB_USER'),
        'PASSWORD': env('DB_PASSWORD'),
        'HOST': env('DB_HOST'),
        'PORT': env('DB_PORT'),
    },

}

# ADDING ROUTE TO SPECIFY DB ROUTING SPECIFIC user RELATED CHANGES TO REFLECT Into auth_db database not inside default db

DATABASE_ROUTERS = ["main_Project_directory.db_routers.UserAuthRouter"]

Теперь это файл db_routers.py

class UserAuthRouter:
    """
        A router to control all database operations on models in the
        auth and contenttypes applications.
    """
    route_app_labels = {"auth_user", 'contenttypes'}  # Apps to be include inside auth_db

    def db_for_read(self, model, **hints):
        """
        Attempts to read auth and contenttypes models go to auth_db.
        """
        if model._meta.app_label in self.route_app_labels:
            return "auth_db"
        return None

    def db_for_write(self, model, **hints):
        """
        Attempts to write auth and contenttypes models go to auth_db.
        """
        if model._meta.app_label in self.route_app_labels:
            return "auth_db"
        return None

    def allow_relation(self, obj1, obj2, **hints):
        """
        Allow relations if a model in the auth or contenttypes apps is
        involved.
        """
        if (
                obj1._meta.app_label in self.route_app_labels
                or obj2._meta.app_label in self.route_app_labels
        ):
            return True

        # Allow relations if one of the objects is from 'auth_user' and the other is not
        if "auth_user" in [obj1._meta.app_label, obj2._meta.app_label]:
            return True

        return None

    def allow_migrate(self, db, app_label, model_name=None, **hints):
        """
        Make sure the auth and contenttypes apps only appear in the
        'auth_db' database.
        """

        if app_label in self.route_app_labels:
            return db == "auth_db"
        return None

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

Я хочу перенести изменения в новую БД.

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