function commerce_coupon_update_7200 in Commerce Coupon 7.2
Upgrade a Coupons 1.x site to 2.x. MAKE A BACKUP BEFORE DOING THIS.
File
- ./
commerce_coupon.install, line 286 - Installation hooks and procedures for Commerce Coupon.
Code
function commerce_coupon_update_7200(&$sandbox) {
module_load_include('inc', 'commerce_coupon', 'includes/commerce_coupon.update');
if (!module_enable(array(
'commerce_discount',
))) {
throw new DrupalUpdateException('Commerce Discount is a new dependency of Commerce Coupon - you must add it to your site.');
}
if (!isset($sandbox['did_schema_updates'])) {
$schema = drupal_get_schema_unprocessed('commerce_coupon', 'commerce_coupon');
$fields = $schema['fields'];
// Change "is active" field to "status".
db_change_field('commerce_coupon', 'is_active', 'status', $fields['status']);
// Add all the new columns.
db_add_field('commerce_coupon', 'bulk', $fields['bulk']);
db_add_field('commerce_coupon', 'code', $fields['code']);
db_add_field('commerce_coupon', 'uid', $fields['uid']);
// Indexes.
db_add_index('commerce_coupon', 'code', array(
'code',
));
db_add_index('commerce_coupon', 'uid', array(
'uid',
));
// Disable coupons ui module.
module_disable(array(
'commerce_coupon_ui',
));
// Enable dependencies.
module_enable(array(
'commerce_discount',
'inline_conditions',
'commerce_coupon_usage',
));
// Install coupon fields.
commerce_coupon_install_helper();
// Add the inline conditions field because we're going to need it.
_commerce_coupon_install_inline_conditions_field();
$sandbox['did_schema_updates'] = TRUE;
}
$drush = function_exists('drush_print');
// Update coupon entities.
_commerce_coupon_update_coupons_multipass($sandbox, $drush);
// Update order entities.
_commerce_coupon_update_orders_multipass($sandbox, $drush);
$sandbox['#finished'] = $sandbox['coupons']['#finished'] >= 1 && $sandbox['orders']['#finished'] >= 1;
if ($sandbox['#finished'] == TRUE) {
module_disable(array(
'commerce_coupon_pct',
'commerce_coupon_fixed_amount',
));
}
}