Yii2迁移向表中添加新列

时间:2014-10-30 07:12:15

标签: php yii2

使用Yii2中的迁移功能,我试图在表'authorization_key'上添加一个名为'users'的新列。我的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.

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

1 个答案:

答案 0 :(得分:9)

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