2011-02-05 40 views
0

我试图做一些测试,但cakephp不会创建de test_ {tablename}表!他正在尝试使用原始表格。 数据库配置:CakePHP不会创建测试表

var $test = array(

     'driver' => 'mysql', 
     'persistent' => false, 
     'host' => '127.0.0.1', 
     'login' => 'root', 
     'password' => '', 
     'database' => 'tests_clubpets', 
     'encoding' => 'utf8' 
); 

夹具:

class AdminFixture extends CakeTestFixture { 
    var $name = 'Admin'; 

    var $fields = array(
     'id' => array('type' => 'integer', 'null' => false, 'default' => NULL, 'key' => 'primary'), 
     ... 
     'tableParameters' => array('charset' => 'utf8', 'collate' => 'utf8_general_ci', 'engine' => 'InnoDB') 
    ); 

    var $records = array(
     array(
      'id' => 1, 
      'nome' => 'Lorem ipsum dolor sit amet', 
      ... 
    ); 
} 

型号:

class AdminTestCase extends CakeTestCase { 
    var $fixtures = array('app.admin'); 

    function startTest() { 
     $this->Admin =& ClassRegistry::init('Admin'); 
    } 

    function endTest() { 
     unset($this->Admin); 
     ClassRegistry::flush(); 
    } 

} 

什么可能是错误的?

回答

0

当您创建$ test数据库连接时,cake应该试图在该数据库中创建表。根据你的代码应该在tests_clubpets。确保数据库已创建,并且用户对表具有权限。还要检查你没有做任何类型0的

0

,如果你想拥有你的表名为TEST_ {}表名,用途:

'prefix' => 'test_',