Example #1
0
 /**
  * testTablePrefixSwitching method
  *
  * @access public
  * @return void
  */
 function testTablePrefixSwitching()
 {
     ConnectionManager::create('database1', array_merge($this->db->config, array('prefix' => 'aaa_')));
     ConnectionManager::create('database2', array_merge($this->db->config, array('prefix' => 'bbb_')));
     $db1 = ConnectionManager::getDataSource('database1');
     $db2 = ConnectionManager::getDataSource('database2');
     $TestModel = new Apple();
     $TestModel->setDataSource('database1');
     $this->assertEqual($this->db->fullTableName($TestModel, false), 'aaa_apples');
     $this->assertEqual($db1->fullTableName($TestModel, false), 'aaa_apples');
     $this->assertEqual($db2->fullTableName($TestModel, false), 'aaa_apples');
     $TestModel->setDataSource('database2');
     $this->assertEqual($this->db->fullTableName($TestModel, false), 'bbb_apples');
     $this->assertEqual($db1->fullTableName($TestModel, false), 'bbb_apples');
     $this->assertEqual($db2->fullTableName($TestModel, false), 'bbb_apples');
     $TestModel = new Apple();
     $TestModel->tablePrefix = 'custom_';
     $this->assertEqual($this->db->fullTableName($TestModel, false), 'custom_apples');
     $TestModel->setDataSource('database1');
     $this->assertEqual($this->db->fullTableName($TestModel, false), 'custom_apples');
     $this->assertEqual($db1->fullTableName($TestModel, false), 'custom_apples');
     $TestModel = new Apple();
     $TestModel->setDataSource('database1');
     $this->assertEqual($this->db->fullTableName($TestModel, false), 'aaa_apples');
     $TestModel->tablePrefix = '';
     $TestModel->setDataSource('database2');
     $this->assertEqual($db2->fullTableName($TestModel, false), 'apples');
     $this->assertEqual($db1->fullTableName($TestModel, false), 'apples');
     $TestModel->tablePrefix = null;
     $TestModel->setDataSource('database1');
     $this->assertEqual($db2->fullTableName($TestModel, false), 'aaa_apples');
     $this->assertEqual($db1->fullTableName($TestModel, false), 'aaa_apples');
     $TestModel->tablePrefix = false;
     $TestModel->setDataSource('database2');
     $this->assertEqual($db2->fullTableName($TestModel, false), 'apples');
     $this->assertEqual($db1->fullTableName($TestModel, false), 'apples');
 }
 /**
  * testTablePrefixSwitching method
  *
  * @return void
  */
 public function testTablePrefixSwitching()
 {
     ConnectionManager::create('database1', array_merge($this->db->config, array('prefix' => 'aaa_')));
     ConnectionManager::create('database2', array_merge($this->db->config, array('prefix' => 'bbb_')));
     $db1 = ConnectionManager::getDataSource('database1');
     $db2 = ConnectionManager::getDataSource('database2');
     $TestModel = new Apple();
     $TestModel->setDataSource('database1');
     $this->assertContains('aaa_apples', $this->db->fullTableName($TestModel));
     $this->assertContains('aaa_apples', $db1->fullTableName($TestModel));
     $this->assertContains('aaa_apples', $db2->fullTableName($TestModel));
     $TestModel->setDataSource('database2');
     $this->assertContains('bbb_apples', $this->db->fullTableName($TestModel));
     $this->assertContains('bbb_apples', $db1->fullTableName($TestModel));
     $this->assertContains('bbb_apples', $db2->fullTableName($TestModel));
     $TestModel = new Apple();
     $TestModel->tablePrefix = 'custom_';
     $this->assertContains('custom_apples', $this->db->fullTableName($TestModel));
     $TestModel->setDataSource('database1');
     $this->assertContains('custom_apples', $this->db->fullTableName($TestModel));
     $this->assertContains('custom_apples', $db1->fullTableName($TestModel));
     $TestModel = new Apple();
     $TestModel->setDataSource('database1');
     $this->assertContains('aaa_apples', $this->db->fullTableName($TestModel));
     $TestModel->tablePrefix = '';
     $TestModel->setDataSource('database2');
     $this->assertContains('apples', $db2->fullTableName($TestModel));
     $this->assertContains('apples', $db1->fullTableName($TestModel));
     $TestModel->tablePrefix = NULL;
     $TestModel->setDataSource('database1');
     $this->assertContains('aaa_apples', $db2->fullTableName($TestModel));
     $this->assertContains('aaa_apples', $db1->fullTableName($TestModel));
     $TestModel->tablePrefix = FALSE;
     $TestModel->setDataSource('database2');
     $this->assertContains('apples', $db2->fullTableName($TestModel));
     $this->assertContains('apples', $db1->fullTableName($TestModel));
 }