Esempio n. 1
0
 /**
  * @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');
 }
Esempio n. 3
0
 /**
  * @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);
     }
 }
Esempio n. 6
0
 /**
  * @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']);
         }
     }
 }
Esempio n. 8
0
 /**
  * @inheritdoc
  */
 public function up(Schema $schema, QueryBag $queries)
 {
     $this->renameExtension->renameTable($schema, $queries, 'oro_entity_config_optionset_relation', 'oro_entity_config_optset_rel');
 }
Esempio n. 9
0
 /**
  * @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');
 }
Esempio n. 10
0
 /**
  * {@inheritdoc}
  */
 public function up(Schema $schema, QueryBag $queries)
 {
     $table = $schema->getTable('oro_tracking_event');
     $this->renameExtension->renameColumn($schema, $queries, $table, 'user', 'user_identifier');
 }
Esempio n. 11
0
 /**
  * {@inheritdoc}
  */
 public function up(Schema $schema, QueryBag $queries)
 {
     $this->renameExtension->renameColumn($schema, $queries, $schema->getTable('oro_workflow_step'), 'final', 'is_final');
 }
Esempio n. 12
0
 /**
  * {@inheritdoc}
  */
 public function up(Schema $schema, QueryBag $queries)
 {
     $this->renameExtension->renameTable($schema, $queries, 'oro_workflow_entity_acl_identity', 'oro_workflow_entity_acl_ident');
 }
Esempio n. 13
0
 /**
  * @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');
 }
Esempio n. 14
0
 /**
  * @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');
 }
Esempio n. 15
0
 /**
  * @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');
 }
Esempio n. 16
0
 /**
  * @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');
 }
Esempio n. 17
0
 /**
  * {@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);
 }