25 lines
1.0 KiB
Python
25 lines
1.0 KiB
Python
|
|
from django.apps import apps
|
|
|
|
def load_database_settings(databases):
|
|
"""
|
|
Загружает дополнительные базы данных из таблицы LocalDatabase и добавляет их в конфигурацию.
|
|
:param databases: Существующий словарь DATABASES
|
|
"""
|
|
LocalDatabase = apps.get_model('app_settings', 'LocalDatabase')
|
|
|
|
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}")
|