【问题标题】:delete column from table when deleted package in laravel在 laravel 中删除包时从表中删除列
【发布时间】:2020-11-05 23:14:47
【问题描述】:

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

【问题讨论】:

  • 谢谢你的问题,omid。如果可以,请提供具体信息。您能否提供要卸载的软件包的名称?这将使我们能够查看代码以确保我们提供了正确的答案。
  • 到目前为止你尝试过什么?这与 Composer 本身有什么关系?

标签: eloquent composer-php laravel-5.7


【解决方案1】:

许多 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 文件,查看创建的内容并将其与您在数据库中看到的表/列进行比较。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-14
    • 2017-08-26
    • 2021-03-17
    • 2018-03-17
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    相关资源
    最近更新 更多