我进行了数据迁移,如下所示将条目加载到数据库中:
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'"
}
}
}