/** * @inheritdoc */ public function up(Schema $schema, QueryBag $queries) { $this->renameExtension->renameTable($schema, $queries, 'oro_notification_emailnotification', 'oro_notification_email_notif'); $this->renameExtension->renameTable($schema, $queries, 'oro_notification_recipient_list', 'oro_notification_recip_list'); $this->renameExtension->renameTable($schema, $queries, 'oro_notification_recipient_user', 'oro_notification_recip_user'); $this->renameExtension->renameTable($schema, $queries, 'oro_notification_recipient_group', 'oro_notification_recip_group'); }
/** * @inheritdoc */ public function up(Schema $schema, QueryBag $queries) { $queries->addPreQuery($this->getRemoveObsoleteValuesSql()); $table = $schema->getTable('oro_entity_config_value'); $table->dropColumn('serializable'); $table->getColumn('value')->setType(Type::getType(Type::STRING)); $table->addIndex(['scope', 'code', 'value', 'entity_id'], 'idx_entity_config_index_entity'); $table->addIndex(['scope', 'code', 'value', 'field_id'], 'idx_entity_config_index_field'); $this->renameExtension->renameTable($schema, $queries, 'oro_entity_config_value', 'oro_entity_config_index_value'); }
/** * @dataProvider addForeignKeyConstraintProvider */ public function testAddForeignKeyConstraint($platform, $expectedSql) { $extension = new RenameExtension(); $extension->setDatabasePlatform($platform); $extension->setNameGenerator(new DbIdentifierNameGenerator()); $schema = new Schema(); $queries = new QueryBag(); $extension->addForeignKeyConstraint($schema, $queries, 'test_table', 'foreign_table', ['local_column'], ['foreign_column'], ['onDelete' => 'CASCADE']); /** @var MigrationQuery $query */ $query = $queries->getPostQueries()[0]; $this->assertEquals($expectedSql, $query->getDescription()); }
/** * @param Schema $schema * @param QueryBag $queries * @param string $tableName * @param string $columnName * @param array $options */ protected function processColumn(Schema $schema, QueryBag $queries, $tableName, $columnName, $options) { $className = $this->entityMetadataHelper->getEntityClassByTableName($tableName); $table = $schema->getTable($tableName); if (!isset($options[ExtendOptionsManager::NEW_NAME_OPTION])) { if (isset($options[ExtendOptionsManager::TYPE_OPTION])) { $columnType = $options[ExtendOptionsManager::TYPE_OPTION]; if (!in_array($columnType, ['oneToMane', 'manyToMany', 'manyToOne', 'optionSet'])) { $indexName = $this->nameGenerator->generateIndexNameForExtendFieldVisibleInGrid($className, $columnName); $enabled = !isset($options['datagrid']['is_visible']) || $options['datagrid']['is_visible']; if ($enabled && !$table->hasIndex($indexName)) { $table->addIndex([$columnName], $indexName); } elseif (!$enabled && $table->hasIndex($indexName)) { $table->dropIndex($indexName); } } } } else { // in case of renaming column name we should rename existing index $newColumnName = $options[ExtendOptionsManager::NEW_NAME_OPTION]; $indexName = $this->nameGenerator->generateIndexNameForExtendFieldVisibleInGrid($className, $columnName); if ($table->hasIndex($indexName)) { $table->dropIndex($indexName); $newIndexName = $this->nameGenerator->generateIndexNameForExtendFieldVisibleInGrid($className, $newColumnName); $this->renameExtension->addIndex($schema, $queries, $tableName, [$newColumnName], $newIndexName); } } }
/** * @param Schema $schema * @param QueryBag $queries * @param string $tableName * @param string $columnName * @param array $options * @param string $className * @param Table $table */ protected function renameIndex(Schema $schema, QueryBag $queries, $tableName, $columnName, $options, $className, $table) { $newColumnName = $options[ExtendOptionsManager::NEW_NAME_OPTION]; $indexName = $this->nameGenerator->generateIndexNameForExtendFieldVisibleInGrid($className, $columnName); if ($table->hasIndex($indexName)) { $table->dropIndex($indexName); $newIndexName = $this->nameGenerator->generateIndexNameForExtendFieldVisibleInGrid($className, $newColumnName); $this->renameExtension->addIndex($schema, $queries, $tableName, [$newColumnName], $newIndexName); } }
/** * @inheritdoc */ public function up(Schema $schema, QueryBag $queries) { $this->renameExtension->renameTable($schema, $queries, 'oro_batch_job_execution', 'akeneo_batch_job_execution'); $this->renameExtension->renameTable($schema, $queries, 'oro_batch_job_instance', 'akeneo_batch_job_instance'); $this->renameExtension->renameTable($schema, $queries, 'oro_batch_mapping_field', 'akeneo_batch_mapping_field'); $this->renameExtension->renameTable($schema, $queries, 'oro_batch_mapping_item', 'akeneo_batch_mapping_item'); $this->renameExtension->renameTable($schema, $queries, 'oro_batch_step_execution', 'akeneo_batch_step_execution'); }
protected function renameOneToManyExtendField(Schema $schema, QueryBag $queries, Table $table, $associationName, $targetEntityClassName, EntityMetadataHelper $entityMetadataHelper) { $entityClassName = $entityMetadataHelper->getEntityClassByTableName($table->getName()); $targetTableName = $entityMetadataHelper->getTableNameByEntityClass($targetEntityClassName); if ($schema->hasTable($targetTableName)) { $targetTable = $schema->getTable($targetTableName); $oldTargetColumnName = sprintf('field_%s_%s_id', strtolower(ExtendHelper::getShortClassName($entityClassName)), $associationName); if ($targetTable->hasColumn($oldTargetColumnName)) { $newTargetColumnName = $this->nameGenerator->generateOneToManyRelationColumnName($entityClassName, $associationName); $oldIndexName = $this->nameGenerator->generateIndexName($targetTableName, [$oldTargetColumnName], false, true); if ($targetTable->hasIndex($oldIndexName)) { $targetTable->dropIndex($oldIndexName); } $oldForeignKeyName = $this->nameGenerator->generateForeignKeyConstraintName($targetTableName, [$oldTargetColumnName], true); if ($targetTable->hasForeignKey($oldForeignKeyName)) { $targetTable->removeForeignKey($oldForeignKeyName); } $this->renameExtension->renameColumn($schema, $queries, $targetTable, $oldTargetColumnName, $newTargetColumnName); $this->renameExtension->addIndex($schema, $queries, $targetTable->getName(), [$newTargetColumnName]); $this->renameExtension->addForeignKeyConstraint($schema, $queries, $targetTable->getName(), $table->getName(), [$newTargetColumnName], $table->getPrimaryKeyColumns(), ['onDelete' => 'SET NULL']); } } }
/** * @inheritdoc */ public function up(Schema $schema, QueryBag $queries) { $this->renameExtension->renameTable($schema, $queries, 'oro_entity_config_optionset_relation', 'oro_entity_config_optset_rel'); }
/** * @inheritdoc */ public function up(Schema $schema, QueryBag $queries) { $this->renameExtension->renameTable($schema, $queries, 'orocrm_sales_opportunity_close_reason', 'orocrm_sales_opport_close_rsn'); $this->renameExtension->renameTable($schema, $queries, 'orocrm_sales_opportunity_status', 'orocrm_sales_opport_status'); }
/** * {@inheritdoc} */ public function up(Schema $schema, QueryBag $queries) { $table = $schema->getTable('oro_tracking_event'); $this->renameExtension->renameColumn($schema, $queries, $table, 'user', 'user_identifier'); }
/** * {@inheritdoc} */ public function up(Schema $schema, QueryBag $queries) { $this->renameExtension->renameColumn($schema, $queries, $schema->getTable('oro_workflow_step'), 'final', 'is_final'); }
/** * {@inheritdoc} */ public function up(Schema $schema, QueryBag $queries) { $this->renameExtension->renameTable($schema, $queries, 'oro_workflow_entity_acl_identity', 'oro_workflow_entity_acl_ident'); }
/** * @inheritdoc */ public function up(Schema $schema, QueryBag $queries) { $this->renameExtension->renameTable($schema, $queries, 'orocrm_magento_customer_address', 'orocrm_magento_customer_addr'); $this->renameExtension->renameTable($schema, $queries, 'orocrm_magento_customer_address_to_address_type', 'orocrm_magento_cust_addr_type'); $this->renameExtension->renameTable($schema, $queries, 'orocrm_magento_product_to_website', 'orocrm_magento_prod_to_website'); }
/** * @inheritdoc */ public function up(Schema $schema, QueryBag $queries) { $this->renameExtension->renameTable($schema, $queries, 'orocrm_contact_to_contact_group', 'orocrm_contact_to_contact_grp'); $this->renameExtension->renameTable($schema, $queries, 'orocrm_contact_address_to_address_type', 'orocrm_contact_adr_to_adr_type'); }
/** * @inheritdoc */ public function up(Schema $schema, QueryBag $queries) { $this->renameExtension->renameTable($schema, $queries, 'oro_dictionary_country_translation', 'oro_dictionary_country_trans'); $this->renameExtension->renameTable($schema, $queries, 'oro_dictionary_region_translation', 'oro_dictionary_region_trans'); }
/** * @inheritdoc */ public function up(Schema $schema, QueryBag $queries) { $this->renameExtension->renameTable($schema, $queries, 'orocrm_contactus_contact_reason', 'orocrm_contactus_contact_rsn'); $this->renameExtension->renameTable($schema, $queries, 'orocrm_contactus_request_emails', 'orocrm_contactus_req_emails'); }
/** * {@inheritdoc} */ public function renameColumn(Schema $schema, QueryBag $queries, Table $table, $oldColumnName, $newColumnName) { $this->extendOptionsManager->setColumnOptions($table->getName(), $oldColumnName, [ExtendOptionsManager::NEW_NAME_OPTION => $newColumnName]); parent::renameColumn($schema, $queries, $table, $oldColumnName, $newColumnName); }