laravel 数据库迁移后增加字段

假设很久之前创建了一张活动表

php artisan make:migration create_users_table

里面的字段如下:

.
.
public function up()
{
    Schema::create('users', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->string('name');
        $table->string('email')->unique();
        $table->timestamp('email_verified_at')->nullable();
        $table->string('password');
        $table->rememberToken();
        $table->timestamps();
    });
}
.
.

现在需要新增一个头像的字段,迁移后想在表中增加字段的方法有两种:

  1. 重建数据库
    在原本的迁移文件中增加字段后执行
php artisan migrate:refresh

执行完后会回滚数据库的所有迁移还会接着运行 migrate 命令。相当于重建,之前的数据也会没了。

  1. 新加一个迁移文件
php artisan make:migration add_avatar_into_users

然后打开迁移文件

.
.
// 运行迁移时会被调用
public function up()
{
    Schema::table('users',function (Blueprint $table) {
        $table->string('avatar')->after('name')->nullable();
    });
}

// 回滚迁移时会被调用
public function down()
{
    Schema::table('users', function (Blueprint $table) {
        $table->dropColumn('avatar');
    });
}
.
.

我们将 avatar 字段放在 name 字段后面。而修改表和创建表的区别就是 create 方法改成 table 方法。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容