在 laravel 中删除包时从 table 中删除列

delete column from table when deleted package in laravel

当通过安装包添加数据库中的字段时,如何确保在卸载包时将其删除。会被删吗?

许多 Laravel 软件包都带有创建表(有时还有字段)的迁移,如下所示:

public function up()
{
    Schema::create($this->getTableName(), function (Blueprint $table) {
        $table->increments('id');
        $table->string('first_name');
        $table->string('last_name');
        $table->string('email');
        $table->timestamps();
    });
}

通常,在拆卸时移除它们

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
    Schema::dropIfExists($this->getTableName());
}

然而,有时事情会出错,您可能需要检查一下自己。请参阅随包提供的 database/migrations 文件,查看创建的内容并将其与您在数据库中看到的 tables/columns 进行比较。