Laravel - DatabaseTransactions - 超过锁定等待超时

Posted

技术标签:

【中文标题】Laravel - DatabaseTransactions - 超过锁定等待超时【英文标题】:Laravel - DatabaseTransactions - Lock wait timeout exceeded 【发布时间】:2019-11-20 02:10:40 【问题描述】:

我们使用 DatabaseTransactions trait 和 mysql 数据库连接来执行单元测试(很多)。

在执行完整的测试套件时,我们会收到 15 个左右的“一般错误:1205 Lock wait timeout exceeded;”。 单独执行这些测试时,它们都成功了。

问题主要出现在执行 sync() 方法时,但不仅如此。

(试图增加等待超时,没有运气)。

任何建议将不胜感激。

也发布在 laracasts 中:https://laracasts.com/discuss/channels/testing/test-suite-general-error-1205-lock-wait-timeout-exceeded

【问题讨论】:

您能否向我们展示一个有时会失败的测试示例?您的项目设置是否与默认设置有任何偏差?诸如多个数据库、并行运行的测试等。 【参考方案1】:

发现失踪的parent::tearDown(); 是有罪的。

因此,交易没有关闭。

问题已解决。

【讨论】:

以上是关于Laravel - DatabaseTransactions - 超过锁定等待超时的主要内容,如果未能解决你的问题,请参考以下文章

Laravel:laravel 可翻译插件

win 怎么laravel命令

laravel 安装失败

laravel validator怎么验证整数

Laravel 图像规则验证不适用于 Laravel 8,但适用于 Laravel 7 |拉拉维尔 |图片 |验证

laravel和mongo怎么搭配使用