У меня есть миграция данных, которая загружает записи в мою базу данных, как показано ниже:
def load_groups(apps, _):
Group = apps.get_model('auth', 'Group')
Group(
name='Admin'
).save()
Group(
name='Product Manager'
).save()
Group(
name='Developer'
).save()
migrations.RunPython(
code=load_groups,
)
Этот код отлично работает при запуске manage.py migrate
.
Однако, если я запускаю manage.py migrate --database=copy
Миграции применяются к базе данных с псевдонимом copy
, но секция load_groups
пытается сохранить в базе данных псевдоним default
.
Я знаю, что могу указать, куда сохранять создание группы, но яне могу найти способ получить доступ к имени используемого псевдонима базы данных.
Буду признателен за любые идеи.
settings.py:
DATABASES = {
'default': {
'ENGINE': 'django_prometheus.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
},
'copy': {
'ENGINE': 'django_prometheus.db.backends.mysql',
'NAME': 'dev',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': 3306,
'OPTIONS': {
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"
}
}
}