Django无法正确地销毁和创建测试数据库

2024-06-01 12:01:56 发布

您现在位置:Python中文网/ 问答频道 /正文

当我尝试运行unittest时,我得到的结果是:

python manage.py test dbank --settings=databank_web.settings.dqs.dev_hooman
Creating test database for alias 'default'...
Creating test database for alias 'global'...
Creating test database for alias 'optin_db'...
Creating test database for alias 'vpd3'...
Creating test database for alias 'user_db'...
Creating test database for alias 'vpd1'...
Creating test database for alias 'vpd2'...
.
----------------------------------------------------------------------
Ran 1 test in 0.327s

OK
Destroying test database for alias 'default'...
Warning: Table 'mysql.proc' doesn't exist

它不能破坏数据库。当我重新进行测试时,情况会好转:

^{pr2}$

知道为什么会出错吗?在

运行最新的homebrew+mysql-5.6.21+Django 1.5.5


Tags: pytestcreatingwebdefaultfordbsettings
2条回答

有两个错误表明mysql.proc表丢失。您可以通过运行mysql_update生成它。在

我终于找到原因了。在

我们的应用程序有大约7个数据库。当我准备手动删除它们以获得干净状态时,我意外地还删除了mysql数据库。不应删除此数据库,因为它包含有关根用户的重要信息。在

当我意识到这一点时,我试图通过brew重新安装MySQL来减轻压力。在

brew uninstall mysql
brew install mysql

这起作用了,mysql数据库在我运行show databases;时再次出现,但是问题仍然存在。就在那时我来这里寻求帮助。在

看起来事情比啤酒复杂一点。 我就是这样让它重新工作的:

^{pr2}$

现在它起作用了。希望这能帮助其他mac用户。谢谢。在

相关问题 更多 >