2014-10-30 72 views
3

使用Yii2中的遷移功能,我試圖在表'users'上添加一個名爲'authorization_key'的新列。我up - 功能如下: 我最初run功能是這樣的Yii2遷移在表中添加新列

public function up() 
{ 
    $this->createTable('users', [ 
     'id' => 'pk', 
      'username' => 'string UNIQUE', 
      'password' => 'string' 
    ]); 


    } 

,當我./yii migrate/create後運行./yii migrate up ,創建表。

但添加$this->addColumn('user', 'authorization_key'for', 'string UNIQUE');後,即 新up功能

public function up() 
    { 
     $this->createTable('users', [ 
      'id' => 'pk', 
       'username' => 'string UNIQUE', 
       'password' => 'string' 
     ]); 

     $this->addColumn('user', 'authorization_key'for', 'string UNIQUE'); 
     } 

,我跑

./yii migrate up 

,它不工作,並沒有創造新的列, 但它顯示

No new migration found. Your system is up-to-date. 

如何使用遷移功能添加表格中的新列或者這裏有什麼錯誤?我在這裏錯過了一些命令嗎?

回答

8

您創建的遷移已標記爲完成(在數據庫中檢查表「遷移」)。如果要向該表添加新列,則必須停止遷移並再次運行它或創建新的遷移。