You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel DatabaseTruncation的exceptTables参数失效问题求助

解决Laravel Dusk DatabaseTruncation $exceptTables失效问题
  • 先检查$exceptTables的访问修饰符,必须是public。如果定义成private或protected,DatabaseTruncation特性无法读取这个属性,会默认截断所有表。正确写法:

    public $exceptTables = ['table1', 'table2'];
    
  • 确认没有同时使用RefreshDatabase特性。这两个特性的数据库清理逻辑会冲突,RefreshDatabase的优先级更高,会覆盖DatabaseTruncation的排除设置。如果之前加了RefreshDatabase,直接移除即可。

  • 核对表名的大小写和拼写。比如Linux环境下的MySQL默认区分表名大小写,如果你数据库里的表是Table1,但代码里写的是table1,特性会识别不到,导致该表被误截断。

  • 检查测试代码里有没有手动截断表的逻辑。比如测试方法里写了DB::table('table1')->truncate(),这种硬编码的操作会绕过特性的设置,不管你怎么配置都会截断表。

内容的提问来源于stack exchange,提问作者Enzo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 22:29:53