yii中的数据库迁移不起作用


database migration is not working in yii

在Yii框架中,我使用的迁移就像./yiic migrate创建tbl_demo它制作了迁移文件,我在其中输入了类似的up值

<?php
class m110714_094912_tbl_demo extends CDbMigration
{
  public function up()
  {
    $this-> createTable('{{tbl_demo}}', array(
      'id' => 'pk',
      'name' => 'VARCHAR ''80'' NOT NULL',
    ))
  }
  public function down()
  {
    echo "m110714_094912_tbl_demo does not support migration down.'n";
    return false;
  }
  /*
  // Use safeUp/safeDown to do migration with transaction
  public function safeUp()
  {
  }
  public function safeDown()
  {
  }
  */
}

输入后会显示类似的信息

New migration created successfully.

但每当我检查mysql数据库时,都找不到tbl_demo的表。我还把up的所有值都放在了safeup中,但没有任何结果。每件事都很好,但不知道为什么不创建新表?请帮助我

您应该转到命令行并调用yiic migrate up,它会询问您是否要应用tbl_demo迁移,当您键入"yes"时,它会执行代码。执行yiic migrate create -something-时显示消息New migration created successfully.,而不是应用迁移时显示消息。

如果您想再次应用迁移,您应该删除yiic为记录迁移而创建的"migrations"db表中关于"tbl_demo"迁移的行。

我刚刚自己解决了这个问题。

答案是,默认的/protected/config/console.php开箱即用,配置为使用名为testdrive.db的SQLite数据库。您必须配置它才能与您的MySQL数据库对话。