有没有办法检测Laravel是否存在数据库表

2022-08-30 07:21:55

我希望能够使用

Schema::create('mytable',function($table)
{
    $table->increments('id');
    $table->string('title');
});

但在此之前,我想检查该表是否已经存在,也许像这样

Schema::exists('mytable');

但是,上述函数不存在。我还能使用什么?


答案 1

如果您使用的是Laravel 4或5,那么有方法,您可以在L4源代码L5文档中找到它:hasTable()

Schema::hasTable('mytable');

答案 2

要创建新表,只有一个检查 Laravel Schema 函数 。hasTable

if (!Schema::hasTable('table_name')) {
    // Code to create table
}

但是,如果要在检查其是否存在之前删除任何表,则 Schema 有一个名为 .dropIfExists

Schema::dropIfExists('table_name');

如果表存在,它将删除表。


推荐