【发布时间】:2011-05-29 14:38:22
【问题描述】:
我在我的 Django 应用程序中有一组曾经通过的测试,但在软件发展的某个阶段,我在运行测试时开始收到这种消息:
错误:无法刷新数据库 test_totomanager_demo。可能的原因:
* 数据库未运行或配置不正确。
* 至少有一个预期的数据库表不存在。
* SQL 无效。
提示:查看“django-admin.py sqlflush”的输出。这是该命令无法运行的 SQL。
完整错误:(1105,“MyISAM 表 'video_videoinstallation' 正在使用中(很可能由 MERGE 表使用)。尝试 FLUSH TABLES。”)
数据库是 MySQL。
开始发生此错误的确切测试是不可预测的。这不是第一次发生,但经过一两次尝试它曾经通过,这次我无法让测试到达终点。
关于如何避免这种情况的任何提示?
【问题讨论】:
-
什么数据库?数据库是托管在同一个盒子还是其他地方?你检查过数据库日志吗?你检查过系统日志吗?
-
数据库是 MySQL,只在标签中,对不起。我检查了 /var/log/messages 并没有什么不同。现在我试图在记录所有 mysql 查询时再次重现(突然停止发生)。
-
我没有解决这个问题,但我已经避免了。我认为这与分叉进程然后退出子进程的测试有关。我最近对此表示赞同,我想知道其他有这个问题的人是否对分叉做过任何事情。
-
当您使用 innoDB 而不是 MyISAM 时会发生什么变化吗?