Python Django can';t正确地销毁和创建测试数据库

Python Django can';t正确地销毁和创建测试数据库,python,mysql,django,django-unittest,Python,Mysql,Django,Django Unittest,当我尝试运行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

当我尝试运行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
它无法破坏数据库。当我重新运行测试时,它会变得更好:

python manage.py test dbank --settings=databank_web.settings.dqs.dev_hooman
Creating test database for alias 'default'...
Creating test database for alias 'global'...
Got an error creating the test database: (1007, "Can't create database 'test_dqs12_full2'; database exists")
Type 'yes' if you would like to try deleting the test database 'test_dqs12_full2', or 'no' to cancel: yes
Destroying old test database 'global'...
Got an error recreating the test database: Table 'mysql.proc' doesn't exist
知道为什么会出问题吗


运行最新的自制+mysql-5.6.21+Django 1.5.5

那么,有两个错误表明缺少
mysql.proc
表。您可能可以运行
mysql\u update

生成它,我终于找到了原因

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

当我意识到这一点时,我试图通过brew重新安装MySQL来缓解这种情况

brew uninstall mysql
brew install mysql
当我运行show databases时,
mysql
数据库再次出现,但问题仍然存在。那就是我来这里寻求帮助的时候

看起来事情比brew要复杂一些。 我就是这样让它重新工作的:

1) brew uninstall mysql
2) sudo rm -r /usr/local/var/mysql/
3) brew install mysql
4) unset TMPDIR
5) mysql_install_db --verbose --user='whoami' --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
6) mysql.server restart
7) mysql_secure_installation

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

已安装的应用程序中,你有
南方
吗?是的,我有
南方
已安装的应用程序中
更改/设置为
False
有帮助吗?我没有否决你的答案。我也不确定你运行
mysql\u update
是什么意思。谢谢