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