diff --git a/django_code/core/routers.py b/django_code/core/routers.py index d41b9cb..230acb4 100644 --- a/django_code/core/routers.py +++ b/django_code/core/routers.py @@ -18,6 +18,8 @@ class ProjectDatabaseRouter: return 'cloudmanager_db' if model._meta.app_label == 'telegram': return 'telegram_db' + if model._meta.app_label == 'podcast': + return 'podcast_db' return 'default' def db_for_write(self, model, **hints): @@ -32,14 +34,16 @@ class ProjectDatabaseRouter: return 'redirect_db' if model._meta.app_label == 'telegram': return 'telegram_db' + if model._meta.app_label == 'podcast': + return 'podcast_db' return 'default' def allow_relation(self, obj1, obj2, **hints): """Allow relations if both models are in the same database.""" # Prevents accidental foreign key relationships across different physical DBs if ( - obj1._meta.app_label in ['simpsons', 'cloudmanager','redirect','job','telegram'] or - obj2._meta.app_label in ['simpsons', 'cloudmanager','redirect','job','telegram'] + obj1._meta.app_label in ['simpsons', 'cloudmanager','redirect','job','telegram','podcast'] or + obj2._meta.app_label in ['simpsons', 'cloudmanager','redirect','job','telegram','podcast'] ): return obj1._meta.app_label == obj2._meta.app_label return None @@ -56,8 +60,10 @@ class ProjectDatabaseRouter: return db == 'redirect_db' if app_label == 'telegram': return db == 'telegram_db' + if app_label == 'podcast': + return db == 'podcast_db' # Ensure default Django apps (auth, sessions, etc.) don't migrate into simpsons/cloudmanager - if db in ['simpsons_db', 'cloudmanager_db','redirect_db','job_db','telegram_db']: + if db in ['simpsons_db', 'cloudmanager_db','redirect_db','job_db','telegram_db','podcast_db']: return False return None \ No newline at end of file diff --git a/django_code/core/settings.py b/django_code/core/settings.py index 945343d..f0dcc32 100644 --- a/django_code/core/settings.py +++ b/django_code/core/settings.py @@ -48,6 +48,7 @@ INSTALLED_APPS = [ 'apps.website_redirection.apps.redirectConfig', 'apps.job_dashboard.apps.JobDashboardConfig', 'apps.telegram_communication.apps.TelegramCommunicationConfig', + 'apps.podcast_aggregator.apps.PodcastAggregatorConfig', 'import_export', ] @@ -142,6 +143,14 @@ DATABASES = { 'HOST': os.environ.get('DB_HOST'), 'PORT': os.environ.get('DB_PORT'), }, + 'podcast_db': { + 'ENGINE': 'django.db.backends.postgresql', + 'NAME': 'podcast', + 'USER': os.environ.get('DB_USERNAME'), + 'PASSWORD': os.environ.get('DB_PASSWORD'), + 'HOST': os.environ.get('DB_HOST'), + 'PORT': os.environ.get('DB_PORT'), + }, } DATABASE_ROUTERS = ['core.routers.ProjectDatabaseRouter'] #DATABASE_ROUTERS = []