update database schema in doctrine without cli

Code
<?php

use Doctrine\ORM\Tools\SchemaTool;
use 
Doctrine\DBAL\Platforms\AbstractPlatform;
use 
Doctrine\ORM\Mapping as A;
use 
PHPSnippets\Db\Entity\Test;
use 
SqlFormatter;

/**
 * @A\Entity
 * @A\Table(name="budgie")
 */
class Budgie
{
    
/**
     * @A\Column(type="integer")
     * @A\Id
     * @A\GeneratedValue(strategy="AUTO")
     */
    
public $id;
    
    
/**
     * @A\Column(type="string")
     */
    
public $name;
}

$tool = new SchemaTool($entityManager);
$classes = array(
    
$entityManager->getClassMetadata(Budgie::CLASS),
    
$entityManager->getClassMetadata(Test::CLASS),
);

$queries $tool->getCreateSchemaSql($classes);
echo 
'createSchema($classes) does:' PHP_EOL;
format_queries($queries);

$queries $tool->getDropSchemaSQL($classes);
echo 
'dropSchema($classes) does:' PHP_EOL;
format_queries($queries);

// updateSchema($classes) creates a query to
// sync the differences between DB and Entity.
// That's why an update can be an create statement too
$queries $tool->getUpdateSchemaSql($classes);
echo 
'updateSchema($classes) does:' PHP_EOL;
format_queries($queries);


function 
format_queries(array $queries) {
    foreach (
$queries as $query) {
        echo 
trim(SqlFormatter::format($query));
    }
}
Result
createSchema($classes) does:
CREATE TABLE budgie (
  id INT AUTO_INCREMENT NOT NULL, 
  name VARCHAR(255) NOT NULL, 
  PRIMARY KEY(id)
) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB
CREATE TABLE test (
  id INT AUTO_INCREMENT NOT NULL, 
  name VARCHAR(255) NOT NULL, 
  creation_date DATETIME DEFAULT NULL, 
  PRIMARY KEY(id)
) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB
dropSchema($classes) does:
DROP 
  TABLE test
updateSchema($classes) does:
CREATE TABLE budgie (
  id INT AUTO_INCREMENT NOT NULL, 
  name VARCHAR(255) NOT NULL, 
  PRIMARY KEY(id)
) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB