/** * 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)); }