startSetup(); /** * Drop indexes */ $connection = $installer->getConnection()->dropIndex( $installer->getTable('adminnotification/inbox'), 'IDX_SEVERITY' ); $connection = $installer->getConnection()->dropIndex( $installer->getTable('adminnotification/inbox'), 'IDX_IS_READ' ); $connection = $installer->getConnection()->dropIndex( $installer->getTable('adminnotification/inbox'), 'IDX_IS_REMOVE' ); /** * Change columns */ $tables = array( $installer->getTable('adminnotification/inbox') => array( 'columns' => array( 'notification_id' => array( 'type' => Varien_Db_Ddl_Table::TYPE_INTEGER, 'identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true, 'comment' => 'Notification id' ), 'severity' => array( 'type' => Varien_Db_Ddl_Table::TYPE_SMALLINT, 'unsigned' => true, 'nullable' => false, 'default' => '0', 'comment' => 'Problem type' ), 'date_added' => array( 'type' => Varien_Db_Ddl_Table::TYPE_TIMESTAMP, 'nullable' => false, 'comment' => 'Create date' ), 'title' => array( 'type' => Varien_Db_Ddl_Table::TYPE_TEXT, 'length' => 255, 'nullable' => false, 'comment' => 'Title' ), 'description' => array( 'type' => Varien_Db_Ddl_Table::TYPE_TEXT, 'length' => '64K', 'comment' => 'Description' ), 'url' => array( 'type' => Varien_Db_Ddl_Table::TYPE_TEXT, 'length' => 255, 'comment' => 'Url' ), 'is_read' => array( 'type' => Varien_Db_Ddl_Table::TYPE_SMALLINT, 'unsigned' => true, 'nullable' => false, 'default' => '0', 'comment' => 'Flag if notification read' ), 'is_remove' => array( 'type' => Varien_Db_Ddl_Table::TYPE_SMALLINT, 'unsigned' => true, 'nullable' => false, 'default' => '0', 'comment' => 'Flag if notification might be removed' ) ), 'comment' => 'Adminnotification Inbox' ) ); $installer->getConnection()->modifyTables($tables); /** * Add indexes */ $connection = $installer->getConnection()->addIndex( $installer->getTable('adminnotification/inbox'), $installer->getIdxName('adminnotification/inbox', array('severity')), array('severity') ); $connection = $installer->getConnection()->addIndex( $installer->getTable('adminnotification/inbox'), $installer->getIdxName('adminnotification/inbox', array('is_read')), array('is_read') ); $connection = $installer->getConnection()->addIndex( $installer->getTable('adminnotification/inbox'), $installer->getIdxName('adminnotification/inbox', array('is_remove')), array('is_remove') ); $installer->endSetup();