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

How to drop softDeletes from a table in a migration

提问人:miken32 提问时间:5/31/2016 最后编辑:miken32 更新时间:4/16/2023 访问量:30653

问:

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

public function up()
{
    Schema::table("users", function ($table) {
        $table->softDeletes();
    });
}

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

php 数据库 laravel laravel-migrations

评论


答:

112赞 Álvaro Guimarães 5/31/2016 #1

在迁移类中使用:dropSoftDeletes()

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 开始,这些信息可以在文档中找到

评论

0赞 miken32 5/31/2016
谢谢;有没有你用来找到这个的实际 API 文档?我正在使用 laravel.com/docs/5.2 的文档,它提供了一个很好的概述,但没有列出所有可用的方法。
3赞 Álvaro Guimarães 5/31/2016
最好浏览核心类。文档总是缺少一些糖。
7赞 Yevgeniy Afanasyev 10/28/2016
天哪,在dropSoftDeletes之后 - 我们将有一堆历史和实际记录在一起......
0赞 Jquestions 12/14/2018
更新 Laravel 框架文件不是一个好举动?!更新等呢?
1赞 Álvaro Guimarães 12/31/2020
他们总是在那里,只是不在文档中。而且我从来没有建议过编辑框架文件,请不要这样做@Jquestions