/**
  * @param LoggerInterface $logger
  * @param bool            $dryRun
  */
 protected function runActivityLists(LoggerInterface $logger, $dryRun = false)
 {
     // @todo: this workaround should be removed in BAP-9156
     $this->configManager->clear();
     $targetEntities = $this->provider->getTargetEntityClasses(false);
     $toSchema = clone $this->schema;
     $hasSchemaChanges = false;
     foreach ($targetEntities as $targetEntity) {
         $associationName = ExtendHelper::buildAssociationName($targetEntity, ActivityListEntityConfigDumperExtension::ASSOCIATION_KIND);
         $relationTableName = $this->nameGenerator->generateManyToManyJoinTableName(ActivityListEntityConfigDumperExtension::ENTITY_CLASS, $associationName, $targetEntity);
         if (!$toSchema->hasTable($relationTableName)) {
             $hasSchemaChanges = true;
             $this->activityListExtension->addActivityListAssociation($toSchema, $this->metadataHelper->getTableNameByEntityClass($targetEntity));
         }
     }
     if ($hasSchemaChanges) {
         $comparator = new Comparator();
         $platform = $this->connection->getDatabasePlatform();
         $schemaDiff = $comparator->compare($this->schema, $toSchema);
         $queries = $schemaDiff->toSql($platform);
         foreach ($queries as $query) {
             $this->logQuery($logger, $query);
             if (!$dryRun) {
                 $this->connection->executeQuery($query);
             }
         }
     }
 }
 /**
  * Manually create activitylist association tables for further filling.
  *
  * @param Schema                $schema
  * @param ActivityListExtension $activityListExtension
  */
 public static function addActivityListAssociationTables(Schema $schema, ActivityListExtension $activityListExtension)
 {
     $activityListExtension->addActivityListAssociation($schema, 'orocrm_magento_cart');
     $activityListExtension->addActivityListAssociation($schema, 'orocrm_magento_order');
 }
 /**
  * Manually create activitylist association table for further filling.
  *
  * @param Schema                $schema
  * @param ActivityListExtension $activityListExtension
  */
 public static function addActivityListAssociationTable(Schema $schema, ActivityListExtension $activityListExtension)
 {
     $activityListExtension->addActivityListAssociation($schema, 'orocrm_contactus_request');
 }