2016-06-10 29 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