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

Posted

技术标签:

【中文标题】更新表方案而不影响 Laravel 中的数据【英文标题】:Updating table scheme without affecting data in 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');



【问题讨论】:

【参考方案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

【讨论】:

为什么这个没有被选为正确答案? 提问的人不是活跃会员

以上是关于更新表方案而不影响 Laravel 中的数据的主要内容,如果未能解决你的问题,请参考以下文章

更新关系数据库中的数据,而不影响已经存在的关系

更新而不触及时间戳(Laravel)

laravel4 更新数据透视表中的附加列

Laravel 5.5实时数据更新.

Laravel 从两个表中获取数据而不使用分页连接

laravel中的双向WebSockets?