diff --git a/drupal2spip_lal/base/routers.py b/drupal2spip_lal/base/routers.py new file mode 100644 index 0000000..6d99423 --- /dev/null +++ b/drupal2spip_lal/base/routers.py @@ -0,0 +1,25 @@ +class Drupal2SPIPRouter: + def db_for_read(self, model, **hints): + if model._meta.app_label == 'drupal': + return 'drupal' + return None + + def db_for_write(self, model, **hints): + return self.db_for_read(model, **hints) + + def allow_relation(self, obj1, obj2, **hints): + """ + We disallow cross db relations. + """ + app1, app2 = obj1._meta.app_label, obj2._meta.app_label + if 'drupal' in [app1, app2]: + return app1 == app2 + return None + + def allow_migrate(self, db, app_label, model_name=None, **hints): + """ + We disallow migrations for those db. + """ + if db == 'drupal': + return False + return None diff --git a/drupal2spip_lal/settings/base.py b/drupal2spip_lal/settings/base.py index 36ccf41..c456d93 100644 --- a/drupal2spip_lal/settings/base.py +++ b/drupal2spip_lal/settings/base.py @@ -55,9 +55,15 @@ DATABASES = { 'default': env.db( 'DJANGO_DATABASE_URL', default='sqlite:///{}'.format(base_dir('sqlite.db')), - ) + ), + 'drupal': env.db_url( + 'DRUPAL_DATABASE_URL', + default='sqlite:///{}'.format(base_dir('drupal.db')), + ), } +DATABASE_ROUTERS = ['drupal2spip_lal.base.routers.Drupal2SPIPRouter'] + # URLS # ------------------------------------------------------------------------------ # https://docs.djangoproject.com/en/stable/ref/settings/#root-urlconf