【问题标题】:Yii2 migration add new column to the tableYii2迁移向表中添加新列
【发布时间】:2014-12-26 03:27:30
【问题描述】:

使用 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.

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

【问题讨论】:

    标签: php yii2


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2021-05-13
      • 2013-05-23
      • 1970-01-01
      • 2017-10-18
      • 2011-06-17
      • 1970-01-01
      • 2021-11-11
      • 2021-01-29
      • 1970-01-01
      相关资源
      最近更新 更多