Yii Framework - yic migrate命令不起作用

时间:2013-08-08 13:02:18

标签: php yii database-migration

我正在尝试使用safeUp()方法中的Yii db migration创建一个表。但是,当我使用" ./ yiic migrate"命令,它成功运行但表格没有出现在数据库中。以下是迁移文件中的代码:

<?php

class m130808_123826_test_table extends CDbMigration
{

    public function up()
{
}

public function down()
{
   echo "m130808_123826_test_table does not support migration down.\n";
   return false;
}

public function safeUp()
{
   $this->createTable('tbl_test', array(
   'test_field1' => 'int(10)',
   'test_field2' => 'string NOT NULL',
    ), 'ENGINE=InnoDB');
}

public function safeDown()
{
   $this->dropTable('tbl_test');
}

}

我尝试使用类似问题的评论中的一些建议,例如提供&#39; up&#39;或者&#39; safeUp&#39; migrate命令的参数。我还检查了console.php文件,并将其配置到正确的数据库。还有什么可能是不在数据库中创建表的原因?

1 个答案:

答案 0 :(得分:0)

您应该提供upsafeUp方法。因此,请删除班级中的空up方法:

<?php

class m130808_123826_test_table extends CDbMigration
{

public function down()
{
   echo "m130808_123826_test_table does not support migration down.\n";
   return false;
}

public function safeUp()
{
   $this->createTable('tbl_test', array(
   'test_field1' => 'int(10)',
   'test_field2' => 'string NOT NULL',
    ), 'ENGINE=InnoDB');
}

public function safeDown()
{
   $this->dropTable('tbl_test');
}

}