diff --git a/django_tenants/management/commands/migrate_schemas.py b/django_tenants/management/commands/migrate_schemas.py index 1ffc59f9..adb5c946 100644 --- a/django_tenants/management/commands/migrate_schemas.py +++ b/django_tenants/management/commands/migrate_schemas.py @@ -49,7 +49,7 @@ def handle(self, *args, **options): executor.run_migrations(tenants=[self.PUBLIC_SCHEMA_NAME]) if self.sync_tenant: if self.schema_name and self.schema_name != self.PUBLIC_SCHEMA_NAME: - if not schema_exists(self.schema_name): + if not schema_exists(self.schema_name, self.options.get('database', None)): raise RuntimeError('Schema "{}" does not exist'.format( self.schema_name)) else: diff --git a/django_tenants/migration_executors/base.py b/django_tenants/migration_executors/base.py index 6e79929a..0965a340 100644 --- a/django_tenants/migration_executors/base.py +++ b/django_tenants/migration_executors/base.py @@ -24,7 +24,7 @@ def style_func(msg): msg ) - connection = connections[get_tenant_database_alias()] + connection = connections[options.get('database', get_tenant_database_alias())] connection.set_schema(schema_name) stdout = OutputWrapper(sys.stdout) diff --git a/django_tenants/utils.py b/django_tenants/utils.py index c31a1d4b..31c56424 100644 --- a/django_tenants/utils.py +++ b/django_tenants/utils.py @@ -136,8 +136,8 @@ def django_is_in_test_mode(): return hasattr(mail, 'outbox') -def schema_exists(schema_name): - _connection = connections[get_tenant_database_alias()] +def schema_exists(schema_name, database=get_tenant_database_alias()): + _connection = connections[database] cursor = _connection.cursor() # check if this schema already exists in the db