如何在迁移中从表中删除 softDeletes

Posted

技术标签:

【中文标题】如何在迁移中从表中删除 softDeletes【英文标题】:How to drop softDeletes from a table in a migration 【发布时间】:2016-09-28 15:57:56 【问题描述】:

我正在迁移中将软删除列添加到我的表中:

public function up()

    Schema::table("users", function ($table) 
        $table->softDeletes();
    );

但是,如果我回滚迁移,如何在我的 down() 函数中删除这些?是否有内置方法可以执行此操作,还是我只需手动删除添加的列?

【问题讨论】:

【参考方案1】:

关于你的迁移课程:

public function down()

    Schema::table("users", function ($table) 
        $table->dropSoftDeletes();
    );

Illuminate\Database\Schema\Blueprint.php

public function dropSoftDeletes()

    $this->dropColumn('deleted_at');

自 Laravel 5.5 起,此信息可以在 in the documentation 找到。

【讨论】:

谢谢;有没有你用来找到这个的实际 API 文档?我正在使用laravel.com/docs/5.2 的文档,它提供了一个很好的概述,但没有列出所有可用的方法。 您最好浏览核心类。文档总是缺少一些糖。 天啊,在 dropSoftDeletes 之后——我们将把一堆历史和实际记录放在一起...... 更新 Laravel 框架文件不是个好办法?!更新等呢? 他们一直都在,只是不在文档中。而且我从不建议编辑框架文件,请不要这样做@Jquestions

以上是关于如何在迁移中从表中删除 softDeletes的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SAP ASE Sybase 16 中从具有外键的表中删除行

Rails迁移:从表中删除列

如何从表中删除重复记录? [复制]

如何从表中删除分区?

如何从表中删除重复值 [重复]

在 Snowflake 中从表中取消嵌套