Yii2迁移向表中添加新列

use*_*282 3 php yii2

在Yii2中使用迁移功能,我试图添加一个'authorization_key'在表上调用的新列'users'.我的up功能如下:我的初始run功能就是这个

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


  }
Run Code Online (Sandbox Code Playgroud)

当我./yii migrate up 追赶时./yii migrate/create,桌子就被创建了.

但是在添加之后$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');
      }
Run Code Online (Sandbox Code Playgroud)

然后我跑

 ./yii migrate up 
Run Code Online (Sandbox Code Playgroud)

,它没有工作,并没有创建新专栏,但它显示

No new migration found. Your system is up-to-date.
Run Code Online (Sandbox Code Playgroud)

如何使用迁移添加表中的新列或此处的错误是什么?我在这里错过了一些命令吗?

小智 9

您创建的迁移已标记为已完成(在数据库中检查表'migration').如果要向该表添加新列,则必须关闭迁移并再次运行它或创建新迁移.