Add command for Doctrine metadata generating

[MAILPOET-2014]
This commit is contained in:
Jan Jakeš
2019-05-09 15:15:11 +02:00
committed by M. Shull
parent fcccbf8358
commit 4c6e7572d4
3 changed files with 26 additions and 2 deletions

View File

@ -301,6 +301,15 @@ class RoboFile extends \Robo\Tasks {
);
}
function doctrineGenerateMetadata() {
$metadata_dir = \MailPoet\Doctrine\ConfigurationFactory::METADATA_DIR;
$this->_exec("rm -rf $metadata_dir");
$entity_manager = $this->createDoctrineEntityManager();
$entity_manager->getMetadataFactory()->getAllMetadata();
$this->say("Doctrine metadata generated to: $metadata_dir");
}
function qa() {
$collection = $this->collectionBuilder();
$collection->addCode([$this, 'qaLint']);
@ -902,4 +911,15 @@ class RoboFile extends \Robo\Tasks {
$php_config->usePersistent();
return $exitCode;
}
private function createDoctrineEntityManager() {
define('ABSPATH', getenv('WP_ROOT') . '/');
\MailPoet\Config\Env::$db_prefix = '';
$configuration = (new \MailPoet\Doctrine\ConfigurationFactory(true))->createConfiguration();
$platform_class = \MailPoet\Doctrine\ConnectionFactory::PLATFORM_CLASS;
return \MailPoetVendor\Doctrine\ORM\EntityManager::create([
'driver' => \MailPoet\Doctrine\ConnectionFactory::DRIVER,
'platform' => new $platform_class,
], $configuration);
}
}

View File

@ -27,6 +27,10 @@ echo '[BUILD] Building DI Container cache'
./composer.phar install
./do container:dump
# Generate Doctrine metadata
echo '[BUILD] Generating Doctrine Metadata'
./do doctrine:generate-metadata
# Backup dev libraries
echo '[BUILD] Backup dev dependencies'
if [ -d 'vendor' ]; then

View File

@ -19,8 +19,8 @@ class ConfigurationFactory {
/** @var bool */
private $is_dev_mode;
function __construct() {
$this->is_dev_mode = WP_DEBUG;
function __construct($is_dev_mode = null) {
$this->is_dev_mode = $is_dev_mode === null ? WP_DEBUG : $is_dev_mode;
}
function createConfiguration() {