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

Posted

技术标签:

【中文标题】如何在数据库中存在的自定义列之后添加新列[重复]【英文标题】:How to add new column after a custom column existing at the DB [duplicate] 【发布时间】:2021-09-12 05:18:01 【问题描述】:

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

Table Screenshot

现在我需要在prd_description 之后添加一个名为badge 的新列(第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 会在表格末尾添加这个。

那该怎么做呢?

【问题讨论】:

【参考方案1】:

你需要使用下面的 after 方法

public function up()

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

【讨论】:

【参考方案2】:

在单个特定列之后添加列喜欢,

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

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

【讨论】:

以上是关于如何在数据库中存在的自定义列之后添加新列[重复]的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式将新列添加到 DataGridView(填充有 DataTable 的 DataGridview)

如何为具有映射到多个柴油列的自定义字段的类型派生 Queryable?

如何将 dataGridView 预定义列与 sql 语句中的列绑定(不添加新列)?

在火花作业scala中添加新列之前检查空条件[重复]

如何在数据框的列之间插入新列[重复]

如何为存在的每一行向 Spark 数据框中添加新列?