Yii - 如何在模块/模型中实现花括号?

时间:2013-08-09 18:21:52

标签: yii

我必须在这里遗漏一些东西,因为我在config / main.php中有以下内容:

'db'=>array(
  ...some config...
  'tablePrefix' => 'appname_'
  ...more config...
),

然后我创建了一个新模块(testModule)并将表名称列为'test_user':

public $userTable = '{{test_user}}';

在我的数据库迁移脚本中,我创建了如下的mysql表:

$this->createTable(Yii::app()->getModule('test')->userTable, array(
  "id" => "pk",
  "username" => "varchar(20) NOT NULL",
  "password" => "varchar(128) NOT NULL",
  "email" => "varchar(128) NOT NULL",
  "active" => "varchar(128) NOT NULL",
  "created" => "int(10) NOT NULL",
  "updated" => "int(10) NOT NULL",
));

但是,当我运行迁移脚本时,数据库中的表名是{{test_user}},而我所期望的是'appname_test_user'。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

检查您的控制台配置文件。您应该在'db'部分中具有与main.php中相同的'tablePrefix'(或存储Web应用程序db的配置)。运行迁移时,执行yiic并使用控制台应用程序配置。

为了避免将来出现这种混淆,您可以将db组件的所有设置移动到另一个配置文件(ex config/db.php)。然后,您可以用config/console.phpconfig/main.php这样包含它:

//..
'db'=>require('db.php'),
//..