Я немного боролся с этим обострением, и я не смог найти окончательного ответа в другом месте онлайн.
У меня есть приложение Django, которое использует несколько баз данных; по умолчанию дБ, а затем клиент дБ. по умолчанию db содержит универсальных таблиц . client db содержит пользовательских данных / таблиц, созданных клиентом, использующим мое приложение .
Я понимаю, как работает migrations
, но я использую 2 базы данных, которые не должны включать те же модели, что и при выполнении миграции. client должен иметь клиентские таблицы, а default db должен содержать универсальные данные.
Также важно отметить (из-за нижеприведенного вопроса), что я не делаю специфичные для приложения модели (кроме стандартных, автоматически сгенерированных самой Django ), я использую 2 пакета / приложения для этого: objects
и objects_client
, objects
содержит модели по умолчанию db, а objects_client
- модели client db.
client_db
это также имя, которое я использую в settings.py
Теперь вот моя проблема:
Я знаю, что могу запускать python3 manage.py migrate objects_client --database=client_db
и python3 manage.py migrate objects --database=default
, но я не хочу отдельно указывать admin , auth , contenttypes и сеансы переносятся в базу данных по умолчанию, поэтому я также запускаю python3 manage.py migrate
, что, очевидно, также помещает objects_client
в базу данных по умолчанию (что мне не нужно).
Как мне запустить версию команды по умолчанию python3 manage.py migrate
с исключением приложения, т.е. objects_client
, без изменения каждой модели в этом приложении на managed = false (потому что это боль)?
Вот вывод showmigrations
, если он поможет более подробно описать то, что я имею в виду, это переносимые приложения.
admin
[X] 0001_initial
[X] 0002_logentry_remove_auto_add
[X] 0003_logentry_add_action_flag_choices
auth
[X] 0001_initial
[X] 0002_alter_permission_name_max_length
[X] 0003_alter_user_email_max_length
[X] 0004_alter_user_username_opts
[X] 0005_alter_user_last_login_null
[X] 0006_require_contenttypes_0002
[X] 0007_alter_validators_add_error_messages
[X] 0008_alter_user_username_max_length
[X] 0009_alter_user_last_name_max_length
contenttypes
[X] 0001_initial
[X] 0002_remove_content_type_name
objects
[X] 0001_initial
objects_client
[X] 0001_initial
sessions
[X] 0001_initial