【问题标题】:Updating table scheme without affecting data in Laravel更新表方案而不影响 Laravel 中的数据
【发布时间】:2013-12-29 06:30:29
【问题描述】:

我是来自 code igniter 的 Laravel 新手,我喜欢这个框架!我现在的生活轻松多了。

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

我最初的想法是在数据库迁移文件中输入一个新字段并运行“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');
}

}

【问题讨论】:

    标签: php mysql laravel migration


    【解决方案1】:

    使用工匠名称 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

    【讨论】:

    • 为什么这个没有被选为正确答案?
    • 提问的人不是活跃会员
    猜你喜欢
    • 2012-04-28
    • 2021-09-04
    • 2011-02-27
    • 2015-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-21
    • 2014-11-22
    相关资源
    最近更新 更多