создал route
class OsmRouter:
route_app_labels = {'osm'}
def db_for_read(self, model, **hints):
if model._meta.app_label in self.route_app_labels:
return 'osm'
return None
def db_for_write(self, model, **hints):
if model._meta.app_label in self.route_app_labels:
return 'osm'
return None
def allow_relation(self, obj1, obj2, **hints):
if (
obj1._meta.app_label in self.route_app_labels or
obj2._meta.app_label in self.route_app_labels
):
return True
return None
def allow_migrate(self, db, app_label, model_name=None, **hints):
if app_label in self.route_app_labels:
return db == 'osm'
return None
Далее вписал в settings.py
DATABASE_ROUTERS = ['apps.route.OsmRouter']
Пробую делать
./manage.py makemigrations
./manage.py migrate(or ./manage.py migrate --database osm)
и получаю:
django.db.utils.OperationalError: FATAL: database "osm" does not exist
Если создать базу вручную - всё ок, миграция проходит. Но как сделать так, чтобы база osm автоматически создавалась?