ssMerge branch 'pms_plugins'
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
# settings.py
|
||||
|
||||
<<<<<<< HEAD
|
||||
<<<<<<< HEAD
|
||||
from .models import LocalDatabase
|
||||
from decouple import config
|
||||
@@ -11,11 +11,17 @@ def load_database_settings():
|
||||
=======
|
||||
from decouple import config
|
||||
from django.conf import settings
|
||||
=======
|
||||
>>>>>>> pms_plugins
|
||||
from django.apps import apps
|
||||
|
||||
def load_database_settings():
|
||||
# Загружаем настройки из базы данных
|
||||
def load_database_settings(databases):
|
||||
"""
|
||||
Загружает дополнительные базы данных из таблицы LocalDatabase и добавляет их в конфигурацию.
|
||||
:param databases: Существующий словарь DATABASES
|
||||
"""
|
||||
LocalDatabase = apps.get_model('app_settings', 'LocalDatabase')
|
||||
<<<<<<< HEAD
|
||||
>>>>>>> antifraud
|
||||
local_db_settings = LocalDatabase.objects.all()
|
||||
|
||||
@@ -29,32 +35,20 @@ def load_database_settings():
|
||||
'HOST': db.host,
|
||||
'PORT': db.port,
|
||||
}
|
||||
=======
|
||||
>>>>>>> pms_plugins
|
||||
|
||||
# Вызов этой функции при старте проекта, например, в файле wsgi.py
|
||||
load_database_settings()
|
||||
|
||||
# Чтение локальных баз данных
|
||||
local_databases = LocalDatabase.objects.filter(is_active=True)
|
||||
|
||||
# Основная база данных
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.postgresql',
|
||||
'NAME': config('DB_NAME'),
|
||||
'USER': config('DB_USER'),
|
||||
'PASSWORD': config('DB_PASSWORD'),
|
||||
'HOST': config('DB_HOST'),
|
||||
'PORT': config('DB_PORT'),
|
||||
},
|
||||
}
|
||||
|
||||
# Добавление локальных баз данных
|
||||
for db in local_databases:
|
||||
DATABASES[db.name] = {
|
||||
'ENGINE': 'django.db.backends.postgresql',
|
||||
'NAME': db.name,
|
||||
'USER': db.user,
|
||||
'PASSWORD': db.password,
|
||||
'HOST': db.host,
|
||||
'PORT': db.port,
|
||||
}
|
||||
try:
|
||||
local_db_settings = LocalDatabase.objects.filter(is_active=True)
|
||||
for db in local_db_settings:
|
||||
databases[db.name] = {
|
||||
'ENGINE': db.engine, # Можно хранить тип движка в базе
|
||||
'NAME': db.database,
|
||||
'USER': db.user,
|
||||
'PASSWORD': db.password,
|
||||
'HOST': db.host,
|
||||
'PORT': db.port,
|
||||
'ATOMIC_REQUESTS': True, # Убедитесь, что добавляете ATOMIC_REQUESTS
|
||||
}
|
||||
except Exception as e:
|
||||
print(f"Ошибка загрузки локальных баз данных: {e}")
|
||||
|
||||
Reference in New Issue
Block a user