public function postUp(Schema $schema) { $helper = new UpgradeHelper($this->container); if ($helper->areProductsStoredInMongo()) { $database = $helper->getMongoInstance(); $this->normalizeProductStatuses($database); } }
public function postUp(Schema $schema) { $upgradeHelper = new UpgradeHelper($this->container); if ($upgradeHelper->areProductsStoredInMongo()) { $database = $upgradeHelper->getMongoInstance(); $this->removeFilePathFromProductMedias($database); } }
/** * @param Schema $schema */ public function up(Schema $schema) { $upgradeHelper = new UpgradeHelper($this->container); if ($upgradeHelper->areProductsStoredInMongo()) { return; } $this->addSql('ALTER TABLE pim_catalog_metric CHANGE data data NUMERIC(24, 12) DEFAULT NULL, CHANGE base_data base_data NUMERIC(24, 12) DEFAULT NULL'); }
public function postUp(Schema $schema) { $helper = new UpgradeHelper($this->container); if ($helper->areProductsStoredInMongo()) { $database = $helper->getMongoInstance(); $versionCollection = new \MongoCollection($database, 'pim_versioning_version'); foreach ($this->movedEntities as $source => $target) { $result = $versionCollection->update(['resourceName' => $source], ['$set' => ['resourceName' => $target]], ['multiple' => true]); } } }
/** * Get the table or collection name of a resource by looking at the class metadata of the entities and documents. * * @param string $resource * * @return string */ public function getTableOrCollection($resource) { if (!array_key_exists($resource, $this->classMapping)) { $error = 'Can not get the table for the object "%s". Only the following types %s are known.'; throw new \InvalidArgumentException(sprintf($error, $resource, implode(', ', array_keys($this->classMapping)))); } if ($this->upgradeHelper->areProductsStoredInMongo() && in_array($resource, $this->productResources)) { return $this->getTableOrCollectionForMongo($resource); } return $this->getTableOrCollectionForOrm($resource); }
/** * @param Schema $schema */ public function postUp(Schema $schema) { $upgradeHelper = new UpgradeHelper($this->container); if ($upgradeHelper->areProductsStoredInMongo()) { $database = $upgradeHelper->getMongoInstance(); $tableHelper = new SchemaHelper($this->container); echo "Add index to Version document on column loggetAt...\n"; $versionCollection = new \MongoCollection($database, $tableHelper->getTableOrCollection('version')); $versionCollection->ensureIndex(['loggedAt' => -1], ['background' => true]); echo "Done."; } }
/** * Link files to the product values. * * @param string $productValueTable * @param string $productMediaTable * @param string $fkMedia */ public function migrateMediasOnProductValue($productValueTable, $productMediaTable, $fkMedia) { if ($this->upgradeHelper->areProductsStoredInMongo()) { $this->migrateMediasOnProductValueMongo($productValueTable); } else { $this->migrateMediasOnProductValueOrm($productValueTable, $productMediaTable, $fkMedia); } }