更新表方案而不影响Laravel中的数据

dal*_*ech 11 php mysql migration laravel

我是代码点火器的Laravel新手,我喜欢框架!我的生活现在变得如此简单.

我使用php artisan创建了一个包含列的表,并输入了一些测试数据.我现在想要在不影响当前数据的情况下向数据库添加一些新列,并将新字段设置为null.

我的初衷是在数据库迁移文件和运行"php artisan migrate"中输入一个新字段,但这只是给了我"无需迁移"的消息,并确实在我的数据库中输入了新列.

这是我的数据库迁移文件:

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;

class CreateFestivalsTable extends Migration {

public function up()
{
    Schema::create('festivals', function(Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->string('title');
        $table->timestamps();
    });

}

public function down()
{
    Schema::drop('festivals');
}

}
Run Code Online (Sandbox Code Playgroud)

ume*_*ooq 29

使用工匠名称创建新的迁移addColumnFestivalTable

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;

class addColumnFestivalTable extends Migration {

public function up()
{
    Schema::table('festivals', function($table)
    {
        $table->string('new_col_name');
     });

}

public function down()
{
    Schema::table('festivals', function($table)
    {
       $table->dropColumn('new_col_name');
    });
}

}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请阅读Laravel 5.4 doc