美文网首页
laravel 数据库迁移后增加字段

laravel 数据库迁移后增加字段

作者: JJNile | 来源:发表于2019-05-24 20:19 被阅读0次

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

    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 方法。

    相关文章

      网友评论

          本文标题:laravel 数据库迁移后增加字段

          本文链接:https://www.haomeiwen.com/subject/ehonzqtx.html