Yii2迁移将新列添加到表中


Yii2 migration add new column to the table

使用Yii2中的迁移功能,我正在尝试在表'users'上添加一个名为'authorization_key'的新列。我的up-函数如下:我最初的run功能是这个

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

  }

当我运行./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');
      }

我运行

 ./yii migrate up 

,它不起作用,也没有创建新的列,但显示

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

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

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