/** * @return PHPUnit_Extensions_Database_DB_IDatabaseConnection */ protected function getConnection() { try { if (!\Zend_Registry::isRegistered('db')) { $config = new \Zend_Config_Ini(APPLICATION_PATH . '/configs/database.ini', 'test'); $db_name = $config->db->db; $host = $config->db->host; $user = $config->db->username; $password = $config->db->password; $dsn = 'mysql:dbname=' . $db_name . ';host=' . $host; $db = new Database($dsn, $user, $password); $db->setAttribute(\PDO::ATTR_DEFAULT_FETCH_MODE, \PDO::FETCH_OBJ); $db->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); \Zend_Registry::set('db', $db); } else { $db = \Zend_Registry::get('db'); } } catch (\PDOException $e) { $msg = $e->getMessage() . PHP_EOL . PHP_EOL; $msg .= 'データベースのテストにはテスト用DBが必要です!' . PHP_EOL; $msg .= 'data/fixture/tests_schema.dbからデータベースを作成してください!'; throw new \Exception($msg); } return $this->createDefaultDBConnection($db); }
public static function getConnection($client) { $config = new \Zend_Config_Ini(APPLICATION_PATH . '/configs/database.ini', $client); $db_name = $config->db->db; $host = $config->db->host; $user = $config->db->username; $password = $config->db->password; $dsn = 'mysql:dbname=' . $db_name . ';host=' . $host; try { $db = new Database($dsn, $user, $password); $db->setAttribute(\PDO::ATTR_DEFAULT_FETCH_MODE, \PDO::FETCH_OBJ); $db->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); \Zend_Registry::set('db', $db); } catch (\PDOException $e) { throw new \Exception($e->getMessage()); } }