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

时间:2013-12-11 10:23:24

标签: php mysql laravel migration

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

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

我的初衷是在数据库迁移文件和运行" php artisan migrate"中输入一个新字段,但这只是给了我一条消息"没有任何要迁移的内容#34;并确实在我的数据库中输入了新列。

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

<?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');
}

}

1 个答案:

答案 0 :(得分: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');
    });
}

}

了解更多信息,请阅读Laravel 5.4 doc