You are here

function commerce_promotion_post_update_3 in Commerce Core 8.2

Delete orphaned coupons.

File

modules/promotion/commerce_promotion.post_update.php, line 48
Post update functions for Promotion.

Code

function commerce_promotion_post_update_3() {

  /** @var \Drupal\commerce_promotion\CouponStorageInterface $coupon_storage */
  $coupon_storage = \Drupal::service('entity_type.manager')
    ->getStorage('commerce_promotion_coupon');

  /** @var \Drupal\commerce_promotion\Entity\CouponInterface[] $coupons */
  $coupons = $coupon_storage
    ->loadMultiple();
  $delete_coupons = [];
  foreach ($coupons as $coupon) {
    if (!$coupon
      ->getPromotion()) {
      $delete_coupons[] = $coupon;
    }
  }
  $coupon_storage
    ->delete($delete_coupons);
}