src/ORM/Connect/Database.php
public function selectDatabase($name, $create = false, $errorLevel = E_USER_ERROR)
    {
        // In case our live environment is locked down, we can bypass a SHOW DATABASE check
        $canConnect = Config::inst()->get(static::class, 'optimistic_connect')
            || $this->schemaManager->databaseExists($name);
        if ($canConnect) {
            return $this->connector->selectDatabase($name);
        }

        // Check DB creation permisson
        if (!$create) {
            if ($errorLevel !== false) {
                user_error("Attempted to connect to non-existing database \"$name\"", $errorLevel);
            }
            // Unselect database
            $this->connector->unloadDatabase();
            return false;
        }
        $this->schemaManager->createDatabase($name);
        return $this->connector->selectDatabase($name);
    }
public function selectDatabase($name, $create = false, $errorLevel = E_USER_ERROR)
    {
        // In case our live environment is locked down, we can bypass a SHOW DATABASE check
        $canConnect = Config::inst()->get(static::class, 'optimistic_connect')
            || $this->schemaManager->databaseExists($name);
        if ($canConnect) {
            return $this->connector->selectDatabase($name);
        }

        // Check DB creation permisson
        if (!$create) {
            if ($errorLevel !== false) {
                user_error("Attempted to connect to non-existing database \"$name\"", $errorLevel);
            }
            // Unselect database
            $this->connector->unloadDatabase();
            return false;
        }
        $this->schemaManager->createDatabase($name);
        return $this->connector->selectDatabase($name);
    }
public function selectDatabase ( $ name , $ create = false , $ errorLevel = E_USER_ERROR ) { // In case our live environment is locked down, we can bypass a SHOW DATABASE check $ canConnect = Config :: inst ( ) -> get ( static :: class , 'optimistic_connect' ) || $ this -> schemaManager -> databaseExists ( $ name ) ; if ( $ canConnect ) { return $ this -> connector -> selectDatabase ( $ name ) ; } // Check DB creation permisson if ( ! $ create ) { if ( $ errorLevel !== false ) { user_error ( "Attempted to connect to non-existing database \"$name\"" , $ errorLevel ) ; } // Unselect database $ this -> connector -> unloadDatabase ( ) ; return false ; } $ this -> schemaManager -> createDatabase ( $ name ) ; return $ this -> connector -> selectDatabase ( $ name ) ; }
Change the connection to the specified database, optionally creating the
database if it doesn't exist in the current schema.

@param string $name Name of the database
@param bool $create Flag indicating whether the database should be created
if it doesn't exist. If $create is false and the database doesn't exist
then an error will be raised
@param int|bool $errorLevel The level of error reporting to enable for the query, or false if no error
should be raised
@return bool Flag indicating success
Change the connection to the specified database optionally creating the database if it doesn t exist in the current schema .