2013-08-09 1 views
0

Я должен что-то отсутствует здесь, потому что у меня есть следующие в моей конфигурации/main.php:Yii - Как реализовать фигурные скобки в вашем модуле/моделях?

'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", 
)); 

НО, когда я бегу сценарий миграции, имя таблицы в D B - {{test_user}}, когда я ожидал, что это «appname_test_user».

Что я здесь делаю неправильно?

ответ

0

Проверьте конфигурационный файл консоли. Вы должны иметь там же «tablePrefix» в разделе «db», как в main.php (или где вы храните конфигурацию веб-приложения db). Выполняя миграцию, вы выполняете yiic и используется консольное приложение config.

Чтобы избежать этой путаницы в будущем, вы можете переместить все настройки компонента db в другой файл конфигурации (ex config/db.php). Затем вы можете включить его как в config/console.php, так и в config/main.php следующим образом:

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

Конечно! Приятный звонок ... Я знал, что это должно быть что-то глупое, что я отсутствовал. Еще раз спасибо. – ews2001

Смежные вопросы