Hello, I am trying to prevent models in my api app from migrating into the default database but I'm confused about the router. It seems every time I run migrate even with the router it continues to migrate.
#apps.py from django.apps import AppConfig class ApiConfig(AppConfig): name = 'api' label = 'api' #settings.py DATABASE_ROUTERS = ['myproject.dev_db_router.APIRouter',] DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'default.sqlite3'), }, 'mydb': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'mydb.sqlite3'), }, } #dev_db_router.py class APIRouter: """ A router to control all database operations on models in the api application. """ route_app_labels = {'api',} def db_for_read(self, model, **hints): """ Attempts to read api models go to mydb. """ if model._meta.app_label in self.route_app_labels: return 'mydb' return False def db_for_write(self, model, **hints): """ Attempts to write api models goes to mydb. """ if model._meta.app_label in self.route_app_labels: return 'mydb' return False def allow_migrate(self, db, app_label, model_name=None, **hints): """ Make sure the api app only appears in the 'mydb' database. """ if app_label in self.route_app_labels: return db == 'mydb' return False I've tried: python manage.py migrate --database=default python manage.py migrate etc and every time it says: Applying api.0001_initial...* OK* Even though I told it False if it does not meet the case of db == 'mydb'. I can specify 'mydb' and it says it works: python manage.py migrate --database=mosaic but my concern is it always migrates into default even when I'm trying to tell it not to. In the future there will be models I do want to migrate into default, but not these in the api app. Based on the documentation I'm doing everything correctly. What am I not understanding? Thank you. Best, JJ -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/76d56bf9-a870-4a18-8689-6ec93bc50319o%40googlegroups.com.