From d7d4b0680888717d82c41ad8bd16c086038d0282 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Fri, 14 Mar 2025 15:37:40 -0400 Subject: [PATCH] Introduce DATABASE_ROUTERS config parameter --- docs/configuration/required-parameters.md | 2 +- docs/configuration/system.md | 8 ++++++++ netbox/netbox/settings.py | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/configuration/required-parameters.md b/docs/configuration/required-parameters.md index ab18c0b27..4a18e8a6c 100644 --- a/docs/configuration/required-parameters.md +++ b/docs/configuration/required-parameters.md @@ -46,7 +46,7 @@ DATABASES = { } ``` -NetBox itself requires only a `default` database be defined. However, certain plugins may require the configuration of additional databases. +NetBox itself requires only that a `default` database is defined. However, certain plugins may require the configuration of additional databases. (Consider also configuring the [`DATABASE_ROUTERS`](./system.md#database_routers) parameter when multiple databases are in use.) The following parameters must be defined for each database: diff --git a/docs/configuration/system.md b/docs/configuration/system.md index 81c1a6a94..74144cbb3 100644 --- a/docs/configuration/system.md +++ b/docs/configuration/system.md @@ -12,6 +12,14 @@ BASE_PATH = 'netbox/' --- +## DATABASE_ROUTERS + +Default: `[]` (empty list) + +An iterable of [database routers](https://docs.djangoproject.com/en/stable/topics/db/multi-db/) to use for automatically selecting the appropriate database(s) for a query. This is useful only when [multiple databases](./required-parameters.md#databases) have been configured. + +--- + ## DEFAULT_LANGUAGE Default: `en-us` (US English) diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 2b03b401d..b01d50d9e 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -88,6 +88,7 @@ CSRF_COOKIE_SECURE = getattr(configuration, 'CSRF_COOKIE_SECURE', False) CSRF_TRUSTED_ORIGINS = getattr(configuration, 'CSRF_TRUSTED_ORIGINS', []) DATA_UPLOAD_MAX_MEMORY_SIZE = getattr(configuration, 'DATA_UPLOAD_MAX_MEMORY_SIZE', 2621440) DATABASE = getattr(configuration, 'DATABASE', None) # Legacy DB definition +DATABASE_ROUTERS = getattr(configuration, 'DATABASE_ROUTERS', []) DATABASES = getattr(configuration, 'DATABASES', {'default': DATABASE}) DEBUG = getattr(configuration, 'DEBUG', False) DEFAULT_DASHBOARD = getattr(configuration, 'DEFAULT_DASHBOARD', None)