laravel 数据库迁移后增加字段

一、创建用户表

php artisan make:migration create_users_table

添加字段如下:

 /**
  * Run the migrations.
  *
  * @return void
 */
public function up()
{
   if (!Schema::hasTable('users')) {
        Schema::create('users', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->string('name');
        $table->string('email')->unique()->nullable();
        $table->string('password');
        $table->timestamps();
        });
    }
}


 /**
   * Reverse the migrations.
   *
   * @return void
 */
 public function down()
 {
        //
        if (Schema::hasTable('users')) {
            Schema::drop('users');
        }
 }

二、运行迁移 数据表创建完成

php artisan migrate

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

1、重建数据库,在原本的迁移文件中增加字段后执行

php artisan migrate:refresh

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

2.新加一个迁移文件 

php artisan make:migration add_avatar_into_users

然后打开新建迁移文件 添加新字段


  /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        //
        Schema::table('users', function (Blueprint $table) {
            if (!Schema::hasColumn('users', 'avatar')) {
                $table->string('avatar')->comment('备注');

            }
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        //
        Schema::table('users', function (Blueprint $table) {
            if (Schema::hasColumn('users', 'avatar')) {
                $table->dropColumn(['avatar']);
            }
        });
    }

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

3.重新运行迁移命令

php artisan migrate

 没有报错 执行结束

你可能感兴趣的:(laravel数据迁移,laravel框架,laravel,数据库,php,1024程序员节)