【发布时间】:2015-11-26 14:30:55
【问题描述】:
我正在尝试对我的 Django 应用程序进行一些测试。我为测试数据库使用了数据库镜像。当我尝试运行少量测试时,镜像测试数据库中似乎没有来自“默认数据库”的数据。
'default': { #'sqlite': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'OPTIONS':{
'timeout': 180,
},
# 'TEST':{
# 'MIRROR': 'default',
#
# }
},
'replica': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'OPTIONS':{
'timeout': 180,
},
'TEST_MIRROR': 'default'
}
我的测试:
data_school = DataSchool.objects.all()
self.assertTrue(data_school.exists())
我很困惑,数据库管理员配置的test_mirrors作为默认数据库的只读副本。理论上默认数据库中的任何数据都应该可用于测试?如果我有任何配置错误,请告知。谢谢
【问题讨论】:
-
+1 有同样的问题 - 尽管设置了 'TEST_MIRROR' 或 'TEST',但在 'replica' DB 中找不到在 'default' DB 中创建的记录:{'MIRROR': 'default'}正在为“副本”数据库设置进行设置
-
FWIW 这似乎是 Django 中的一个错误:code.djangoproject.com/ticket/23718
标签: django