2016-06-10 106 views
1

我们最近做了服务提供程序的切换,以便此项目的数据库表中的多列需要重命名。Laravel 5.0 - 在1次迁移中重命名多个列

我知道this后它展示了如何从1个表重命名列1:

php artisan migrate:make rename_stk_column --table="YOUR TABLE" --create 

有没有执行与多个列此相同的迁移方式是什么? (1迁移,不超过1 ...试图最小化创建的迁移文件的数量)

回答

1

您可以只添加多个renameColumn();在给定表中需要更新的每列的语句。只需要拿出你/ gals用于迁移文件的任何名字。

什么我跑

class MultipleColumnUpdate extends Migration 
{ 
    /** 
    * Run the migrations. 
    * 
    * @return void 
    */ 
    public function up() 
    { 
     Schema::table('users', function ($table) { 
      $table->renameColumn('name', 'user_name'); 
      $table->renameColumn('email', 'work_email'); 

     }); 
    } 

    /** 
    * Reverse the migrations. 
    * 
    * @return void 
    */ 
    public function down() 
    { 
     Schema::table('users', function ($table) { 
      $table->renameColumn('user_name', 'name'); 
      $table->renameColumn('work_email', 'email'); 
     }); 
    } 
} 
+0

不知怎的,我没有能够做到这一点的Laravel 5.3只是一个样本,它会抛出“没有列‘OLD_NAME’” ...... – giovannipds

+1

@giovannipds如果你想分享你的移民,我可以看看。我还没有使用5.3或查看过更改文档。 –

+0

谢谢@Andrew Nolan,但我后来得到了它。这可能只是我的数据库中的一个错误,当然它会抛出这个信息。 =)5.3几乎与5.2相同。 – giovannipds