I have created an attribute using the following install script:
<?php $installer = $this; $installer->startSetup(); $setup = new Mage_Eav_Model_Entity_Setup('core_setup'); $setup->addAttribute('catalog_category', 'category_pricebreak', array( 'group' => 'Display Settings', 'input' => 'select', 'type' => 'varchar', 'label' => 'Price Break', 'option' => array( 'values' => array( 0 => '$10', 1 => '$50', 2 => '$100', 3 => '$250', 4 => '$500', 5 => '$1000', ), ), 'backend' => 'eav/entity_attribute_backend_array', 'visible' => 1, 'required' => 0, 'user_defined' => 1, 'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL, )); $installer->endSetup(); ?>
Now I would like to add another option for $25. I would also like to do this with an upgrade script as opposed to directly editing the DB. If possible, I'd also like this new $25 option to appear between the $10 and $50 options in the drop down. From what I've found so far it appears the only way to achieve this is by dumping all the current table data into an array, then basically dropping and recreating the table with the new option, then reinserting all the info back into the table. Is that the approach I have to take or is there a function I can use to simply insert a new option into the existing attribute list? I found this question to be somewhat helpful, but I'd like to make sure the new option appears in a specific order. Is this possible?