gpt4 book ai didi

python - 创建测试数据库时,从现有数据库中复制所有数据。 Django

转载 作者:行者123 更新时间:2023-11-28 20:56:00 26 4
gpt4 key购买 nike

当我运行测试时,我希望它在创建测试数据库时复制一个包含所有数据的现有数据库。

在我的一位同事使用 POSTGIS_TEMPLATE = DATABASES['default']['NAME'] 进行测试之前,我从未想过这个问题。因为我们的项目使用 GeoDjango,所以 POSTGIS_TEMPLATE 的存在是为了让测试运行器知道要使用哪个 postgis 数据库模板。当他如上所述定义它时,它实际上也创建了包含所有数据的测试数据库。这对我们来说有点方便,所以我们不需要创建夹具文件。但是如果我们不能对不使用 GeoDjango 的项目做同样的事情。

所以我有两个问题:使用项目数据库中已经存在的数据是个好主意吗? (对于某些测试,我可能需要先删除某个表的所有数据,但在很多情况下,我们是针对非空数据集进行测试的。)如果这不是一个坏主意,对于没有使用GeoDjango的项目,我是否可以设置它从现有数据库中复制数据?

最佳答案

Is it a good idea to use the pre-existing data in the project database?

不——它很可能会发生变化,从而导致您的测试出现奇怪的不确定性行为。

最安全的选择是使用 ./manage.py dumpdata 转储现有数据,然后将其作为固定装置加载到您的个人测试中。 This documentation描述如何。

关于python - 创建测试数据库时,从现有数据库中复制所有数据。 Django ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19185013/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com