📜  laravel 迁移后添加列 - PHP (1)

📅  最后修改于: 2023-12-03 14:43:50.121000             🧑  作者: Mango

Laravel 迁移后添加列

在使用 Laravel 时,我们可能需要对数据库进行修改。基于 Laravel 的迁移功能,我们可以轻松地创建、编辑和删除数据库表,还可以添加列和修改列属性。

当我们需要追加列到现有表时,需要进行迁移后添加列的操作。本文将介绍如何改变数据库表的结构,添加新的列。

1. 创建迁移

在 Laravel 中,每个迁移类都代表了一个数据库迁移。我们可以通过 Artisan 命令快速创建迁移文件:

php artisan make:migration add_column_to_table --table=table_name

其中,add_column_to_table 是迁移的名称,--table=table_name 参数指定了要修改的表。

2. 编写迁移代码

接下来,我们需要在新生成的迁移文件中编写具体的代码。以追加一个 name 字段到 users 表为例,可以使用以下代码:

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
 
class AddNameToUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->string('name');
        });
    }
 
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->dropColumn('name');
        });
    }
}

up 方法中,使用 Schema::tableBlueprint 定义了在 users 表中增加了一个名为 name、类型为 string 的字段。

还需要注意的是,在 down 方法中,我们需要写入回滚迁移所需要的代码。在上述实例中,我们添加了一个 dropColumn 方法,以后会在回滚迁移时执行该方法,对修改的更改进行回滚。

3. 运行迁移

编写完迁移代码后,我们需要使用 Artisan 命令运行迁移:

php artisan migrate

这条命令将根据我们编写的迁移代码,执行对应的 SQL 语句,将我们的数据库表结构同步到最新的状态。

4. 查看迁移结果

我们可以通过以下 Artisan 命令查看当前数据库中的所有迁移记录:

php artisan migrate:status

如果我们的迁移已经执行成功,我们还可以直接查看数据库表结构来确认迁移结果。

至此,我们已经成功增加了一列到现有的数据库表。在实际使用中,只需按照需要修改代码,再运行 migrate 命令即可。