private function connectDatabase(OutputInterface $output) { $param = array(); $param['host'] = $this->dialog->ask($output, '<question>Where is your database server? [localhost]</question> ', 'localhost'); $param['user'] = $this->dialog->ask($output, '<question>What is your database username? [root]</question> ', 'root'); $param['password'] = $this->dialog->ask($output, '<question>What is your database password?</question> ', ''); $param['driver'] = 'pdo_mysql'; // Save dbName for later use to create database $this->dbName = $this->dialog->ask($output, '<question>What is your database name? [BungaWire]</question> ', 'BungaWire'); $output->writeln(''); // Write empty line for easy read $config = new Configuration(); $this->dbConnection = DriverManager::getConnection($param, $config); $this->dbConnection->connect(); if ($this->dbConnection->isConnected() === false) { $output->writeln('Database connection failed, please check your setting'); $output->writeln('You connection configuration is:'); $output->writeln('host: ' . $param['host']); $output->writeln('user: '******'user']); $output->writeln('password: '******'password']); $output->writeln('Database Name: ' . $param['dbname']); $output->writeln('Driver: ' . $param['driver']); $output->writeln($this->dbConnection->errorInfo()); $output->writeln('Please try again!'); $this->connectDatabase($output); } else { $output->writeln('Database connected!'); } }
/** * Test if is connected * * @param bool $forceConnection * @return bool */ public function isConnected($forceConnection = false) { if ($forceConnection) { $this->connection->connect(); } return $this->connection->isConnected(); }
/** * @param Connection $connection * * @return bool */ protected function checkDatabase(Connection $connection) { $result = false; try { $connection->connect(); $result = $connection->isConnected() && $connection->getSchemaManager()->tablesExist([self::EVENT_TABLE_NAME]); } catch (\PDOException $e) { } return $result; }
/** * Initialize the dbal connection lazily */ private function initConnection() { if (true === $this->conn->isConnected() && true === $this->connectionInitialized) { return; } if ($this->conn->getDatabasePlatform() instanceof PostgreSqlPlatform) { $this->sequenceNodeName = 'phpcr_nodes_id_seq'; $this->sequenceTypeName = 'phpcr_type_nodes_node_type_id_seq'; } // @TODO: move to "SqlitePlatform" and rename to "registerExtraFunctions"? if ($this->conn->getDatabasePlatform() instanceof SqlitePlatform) { $this->registerSqliteFunctions($this->conn->getWrappedConnection()); } $this->connectionInitialized = true; }
/** * Closes connection if open, opens a unbuffered connection. * * @param Connection $connection * * @throws InvalidArgumentException */ public static function unbufferConnection(Connection $connection) { /** @var PDOConnection $wrappedConnection */ $wrappedConnection = $connection->getWrappedConnection(); if (!$wrappedConnection instanceof PDOConnection) { throw new InvalidArgumentException('unbufferConection can only be used with pdo_mysql Doctrine driver.'); } if ($wrappedConnection->getAttribute(PDO::ATTR_DRIVER_NAME) != 'mysql') { throw new InvalidArgumentException('unbufferConection can only be used with PDO mysql driver, got "' . $wrappedConnection->getAttribute(PDO::ATTR_DRIVER_NAME) . '" instead.'); } if ($connection->isConnected()) { $connection->close(); } $connection->getWrappedConnection()->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false); $connection->connect(); }
public function testIsConnected() { $this->assertFalse($this->_conn->isConnected()); }
/** * Stub method for connecting to the database * * Returns the result of * <code>Connection::isConnected()</code> * * @return bool */ public function connect() { return $this->conn->isConnected(); }
private function shutdown() { if ($this->connection !== null && $this->connection->isConnected()) { $this->connection->close(); } }
/** * Determine, if the connection is established successful. * * @param \Doctrine\DBAL\Connection $connection The connection we want to know, if it is established. * * @return bool Is the connection successfully established? */ protected function isConnectionEstablished($connection) { return $connection->isConnected(); }
/** * Makes sure that the connection is open */ protected function ensureConnected() { if (!$this->connection->isConnected()) { $this->connection->connect(); } }
/** * Is the driver connected an ready to interact? * * @return bool */ public function isReady() { return $this->connection && $this->connection->isConnected(); }
public function testPassingExternalPDOMeansConnectionIsConnected() { $params['pdo'] = new \stdClass(); $driverMock = $this->getMock('Doctrine\\DBAL\\Driver'); $conn = new Connection($params, $driverMock); $this->assertTrue($conn->isConnected(), "Connection is not connected after passing external PDO"); }