Laravel DatabaseTruncation exceptTables仍然被截断

f87krz0w  于 2023-06-24  发布在  其他
关注(0)|答案(1)|浏览(83)

我有一个Laravel项目,安装了Dusk。
从文档来看,为了保持数据库的干净,我们应该使用DatabaseTruncation trait。
在我的例子中,trait工作,但是当我设置参数$exceptTables = ['table1', 'table2']时,它们仍然会被截断,而它们不应该被截断。
当使用参数$tablesToTruncate = ['table1']时,它可以正常工作。
我可以把所有的表都放在第二个参数中,但是只指定不能截断的几个表会更简洁。
有人见过这个吗?

nlejzf6q

nlejzf6q1#

在这里阅读DatabaseTruncation trait,$exceptTables应该按连接名称分组,如图所示,并且$connectionsToTruncate应该存在。

abstract class DuskTestCase extends BaseTestCase
{
    use CreatesApplication;
    use DatabaseTruncation;

    protected $connectionsToTruncate = [
      'mysql_testing'
    ];

    protected $exceptTables = [
        'mysql_testing' => [
            'table1',
            'table2'
        ]
    ];
}

我向Laravel 10提交了一个pull请求,以支持一个没有连接键的表名数组:https://github.com/laravel/framework/pull/47477

相关问题