微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在数据库中存在的自定义列之后添加新列

如何解决如何在数据库中存在的自定义列之后添加新列

我想在自定义列之后添加带有迁移的新列,例如我有这个表结构:

Table Screenshot

现在我需要在 badge 之后添加一个名为 prd_description 的新列(第 14 列)。

所以我跑了 PHP artisan make:migration add_badge_to_products_table --table=products

这里是:

public function up()
    {
        Schema::table('products',function (Blueprint $table) {
            $table->tinyinteger('badge')->unsigned()->nullable();
        });
    }

但现在的问题是,我不知道如何在该特定列之后添加此列。因为认情况下,Laravel 在表的末尾添加了这个。

那么如何做到这一点?

解决方法

你需要使用 after 方法如下

public function up()
{
    Schema::table('products',function (Blueprint $table) {
        $table->tinyInteger('badge')->unsigned()->nullable()->after('prd_description');
    });
}
,

在单个特定列之后添加列 Like,

  Schema::table('products',function (Blueprint $table) {
        $table->tinyInteger('badge')->after('prd_description')->unsigned()->nullable();
    });

还添加多列像这样, https://laravel.com/docs/8.x/migrations#column-order

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。