【发布时间】:2020-07-02 03:49:12
【问题描述】:
在我在数据库中创建行的地方运行测试后,我注意到使用当前数据库而不是我认为的测试数据库,这是 django 的默认行为。不幸的是,我无法弄清楚如何解决此问题。
目前在 settings.py 中
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql",
"NAME": os.environ["POSTGRES_NAME"],
"USER": os.environ["POSTGRES_USER"],
"PASSWORD": os.environ["POSTGRES_PASSWORD"],
"HOST": os.environ["POSTGRES_HOST"],
"PORT": os.environ["POSTGRES_PORT"],
}
}
但当添加"TEST": {"NAME": "test_database"}, 时,它似乎仍然在主数据库上运行。
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql",
"NAME": os.environ["POSTGRES_NAME"],
"USER": os.environ["POSTGRES_USER"],
"PASSWORD": os.environ["POSTGRES_PASSWORD"],
"HOST": os.environ["POSTGRES_HOST"],
"PORT": os.environ["POSTGRES_PORT"],
"TEST": {
"NAME": "test_database",
}
}
}
如何获取它以便测试写入新的测试数据库?
【问题讨论】:
-
这能回答你的问题吗? Different db for testing in Django?
-
这不是因为接受的答案来自更旧版本的 django 并且似乎对人们有用的最新答案似乎对我不起作用(我尝试了它的修复并有在第二个代码示例中显示“