Всем привет, история такая.
У меня есть две базы данных: db_1, db_2. Я хочу сделать так, чтобы все джанговские дефолтные таблицы хранились в db_1, а определенные модели сохранялись в db_2. При этом у db_2 есть два пользователя. Первый это дефолтный postgres, а второй это test_user, у которого есть разрешение только на чтение всех таблиц в db_2.
1. Как мне организовать всю эту историю в settings.DATABASES? Верна ли эта запись? Если нет, то как сделать правильно?
DATABASES = {
'default': {
'ENGINE': "django.db.backends.postgresql_psycopg2",
'NAME': "db_1",
"USER": "postgres",
"HOST": "localhost",
"PASSWORD": "postgres_password",
"PORT": ""
},
'secondary_postgress': {
'ENGINE': "django.db.backends.postgresql_psycopg2",
'NAME': "db_2",
"USER": "postgres",
"HOST": "localhost",
"PASSWORD": "postgres_password",
"PORT": ""
},
'secondary_test_user': {
'ENGINE': "django.db.backends.postgresql_psycopg2",
'NAME': "db_2",
"USER": "test_user",
"HOST": "localhost",
"PASSWORD": "test_user_password",
"PORT": ""
}
}
2. Как мне сделать сохранение определенных моделей исключительно в db_2? В интернетах куча инфы, насколько понимаю, нужно подключать роутер для БД и переписывать метод save(using="db_2") модели. Но я не совсем понял, как все должно правильно работать, так как информация, в основном, не целостная.
3. Как правильно в таком случае делать миграцию для обеих БД?