当我尝试运行我的单元测试时,这就是我得到的:
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
答案 0 :(得分:0)
我终于找到了原因。
我们的应用程序有大约7个数据库。当我要手动删除它们以获得干净状态时,我不小心也删除了mysql
数据库。不应删除此数据库,因为它包含有关root用户的重要信息。
当我意识到这一点时,我试图通过brew重新安装MySQL来缓解。
brew uninstall mysql
brew install mysql
当我运行mysql
时,这个工作和show databases;
数据库再次出现,但问题仍然存在。那是我来这里寻求帮助的时候。
看起来事情比使用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用户。感谢。
答案 1 :(得分:-1)
嗯,有两个错误表明缺少mysql.proc
表。您可以运行mysql_update
生成它。