我们的开发数据库(本例中为MariaDB)位于服务器上,dev db实例由在本地桌面上工作的多个开发人员共享。如果我们同时运行Django测试(manage.py测试),那么本地测试运行器是否可能会在测试数据库实例中创建/删除相同的对象?
我假设每个开发人员应该拥有自己的本地数据库,以便他们在将更改部署到服务器之前进行单独测试?
这是在Django 1.11上运行的。
如果您的团队在您的设置中都指向同一个数据库主机,那么肯定会导致冲突和问题。但是,Django允许您指定测试数据库的设置。因此,您的每个团队都可以在本地设置自己的测试设置以防止这种情况发生。 This answer对一个相关问题有一个很好的解释我的意思。
以上链接断点的代码片段:Django 1.10+
DATABASES = {
'default':{
'ENGINE':'mysql',
'NAME':'testsqldb',
'USER':'<username>',
'PASSWORD':'<password>',
'TEST': {
'NAME': 'auto_tests',
}
}
}