如何在Laravel 5中创建仅向现有表添加列的迁移

Mat*_*itz 2 php mysql migration laravel artisan-migrate

我正在尝试将一些新列添加到Laravel 5安装附带的通用"用户"表中.

但是,我创建了一个新的迁移,它执行Schema :: create,如下所示:

Schema::create('users', function(Blueprint $table)
{
    $table->increments('id');
    $table->string('username');
    $table->string('email')->unique();
    $table->string('password', 60);
    $table->string('avatar');
    $table->string('first_name');
    $table->string('last_name');
    $table->string('nickname');
    $table->rememberToken();
    $table->timestamps();
});
Run Code Online (Sandbox Code Playgroud)

在上面我说的avatar,first_name,last_namenickname列.

我的问题是,当我跑php artisan migrate它时告诉我Nothing to migrate.

如何创建"更新"迁移?

小智 6

来自http://laravel.com/docs/5.1/migrations#creating-columns

创建列

要更新现有表,我们将table在Schema Facade上使用该方法.与create方法一样,该table方法接受两个参数:表的名称和接收Blueprint实例的Closure,我们可以使用它来向表中添加列:

Schema::table('users', function ($table) {
    $table->string('email');
});
Run Code Online (Sandbox Code Playgroud)

另请参阅http://laravel.com/docs/5.1/migrations#creating-columns

回滚/迁移单个命令注意:使用此方法将丢失数据库中的所有数据

migrate:refresh命令将首先回滚所有数据库迁移,然后运行migrate命令.此命令有效地重新创建整个数据库:

php artisan migrate:refresh
Run Code Online (Sandbox Code Playgroud)