/**
  * @inheritdoc
  */
 public function up(Schema $schema, QueryBag $queries)
 {
     $this->configManager->clearCache();
     $this->configManager->clearConfigurableCache();
     if ($schema instanceof ExtendSchema) {
         $queries->addQuery(new RefreshExtendCacheMigrationQuery($this->commandExecutor));
     }
 }
 /**
  * {@inheritdoc}
  */
 public function up(Schema $schema, QueryBag $queries)
 {
     $this->configManager->clearCache();
     $this->configManager->clearConfigurableCache();
     if ($schema instanceof ExtendSchema) {
         $queries->addQuery(new RefreshExtendConfigMigrationQuery($this->commandExecutor, $this->dataStorageExtension->get('initial_entity_config_state', []), $this->initialEntityConfigStatePath));
         $queries->addQuery(new RefreshExtendCacheMigrationQuery($this->commandExecutor));
     }
 }
 /**
  * Runs command
  *
  * @param  InputInterface  $input
  * @param  OutputInterface $output
  * @throws \InvalidArgumentException
  * @return int|null|void
  */
 public function execute(InputInterface $input, OutputInterface $output)
 {
     $output->writeln($this->getDescription());
     $this->configManager = $this->getContainer()->get('oro_entity_config.config_manager');
     /** @var Kernel $kernel */
     $kernel = $this->getContainer()->get('kernel');
     foreach ($kernel->getBundles() as $bundle) {
         $path = $bundle->getPath() . '/Resources/config/entity_extend.yml';
         if (is_file($path)) {
             $config = Yaml::parse(realpath($path));
             foreach ($config as $className => $entityOptions) {
                 $className = class_exists($className) ? $className : 'Extend\\Entity\\' . $className;
                 $this->parseEntity($className, $entityOptions);
             }
             $this->configManager->flush();
             $output->writeln('Done');
         }
     }
     $this->getContainer()->get('oro_entity_extend.tools.dumper')->clear();
     $this->configManager->clearConfigurableCache();
 }
Exemple #4
0
 /**
  * Load entity configs from annotations to a database
  *
  * @param bool                 $force  Force overwrite config's option values
  * @param callable|null        $filter function (ClassMetadataInfo[] $doctrineAllMetadata)
  * @param LoggerInterface|null $logger
  * @param bool                 $dryRun Log modifications without apply them
  * @throws \Exception
  */
 public function load($force = false, \Closure $filter = null, LoggerInterface $logger = null, $dryRun = false)
 {
     $this->logger = $logger ?: new NullLogger();
     try {
         /** @var ClassMetadataInfo[] $doctrineAllMetadata */
         $doctrineAllMetadata = $this->configManager->getEntityManager()->getMetadataFactory()->getAllMetadata();
         if (null !== $filter) {
             $doctrineAllMetadata = $filter($doctrineAllMetadata);
         }
         foreach ($doctrineAllMetadata as $metadata) {
             $this->loadEntityConfigs($metadata, $force);
         }
         if ($dryRun) {
             $this->configManager->clear();
         } else {
             $this->configManager->flush();
             $this->configManager->clearCache();
             $this->configManager->clearConfigurableCache();
         }
     } catch (\Exception $ex) {
         $this->logger = null;
         throw $ex;
     }
 }
 public function testClearConfigurableCache()
 {
     $this->configCache->expects($this->once())->method('deleteAllConfigurable');
     $this->modelManager->expects($this->once())->method('clearCheckDatabase');
     $this->configManager->clearConfigurableCache();
 }
 protected function renameExtendColumns(Schema $schema, QueryBag $queries, ConfigManager $configManager)
 {
     /** @var EntityMetadataHelper $entityMetadataHelper */
     $entityMetadataHelper = $this->container->get('oro_entity_extend.migration.entity_metadata_helper');
     $configManager->clearConfigurableCache();
     /** @var EntityConfigId[] $entityConfigIds */
     $entityConfigIds = $configManager->getIds('extend');
     foreach ($entityConfigIds as $entityConfigId) {
         if ($configManager->getConfig($entityConfigId)->is('is_extend')) {
             $tableName = $entityMetadataHelper->getTableNameByEntityClass($entityConfigId->getClassName());
             if ($tableName && $schema->hasTable($tableName)) {
                 $table = $schema->getTable($tableName);
                 /** @var FieldConfigId[] $fieldConfigIds */
                 $fieldConfigIds = $configManager->getIds('extend', $entityConfigId->getClassName());
                 foreach ($fieldConfigIds as $fieldConfigId) {
                     if ($configManager->getConfig($fieldConfigId)->is('extend')) {
                         $this->renameExtendField($schema, $queries, $table, $fieldConfigId, $configManager, $entityMetadataHelper);
                     }
                 }
             }
         }
     }
 }
 /**
  * {@inheritdoc}
  */
 public function warmUp($cacheDir)
 {
     $this->configManager->clearCache();
     $this->configManager->clearConfigurableCache();
     $this->dumper->dump();
 }