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

时间:2011-07-14 09:59:52

标签: php yii database-migration

在Yii框架中,我使用了迁移 ./yiic migrate create tbl_demo 它创建了我在其中输入值的迁移文件,如

<?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的表。我还把所有的值都放在了安全状态但是没有任何结果。每件事情都很好但不知道为什么新表没有创建?请帮帮我

2 个答案:

答案 0 :(得分:2)

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

如果要再次应用迁移,则应删除yiic为记录迁移而创建的“迁移”db表中有关“tbl_demo”迁移的行。

答案 1 :(得分:2)

我自己解决了这个问题。

答案是,默认的/protected/config/console.php是开箱即用的,配置为使用名为testdrive.db的SQLite数据库。您必须将其配置为与MySQL数据库通信。