Sha256: cbb4c64070e3cc0d06638184bb4824a3b7633530ecde28c47232b2969e8ca4cd
Contents?: true
Size: 783 Bytes
Versions: 8
Compression:
Stored size: 783 Bytes
Contents
# This migration comes from spree (originally 20170320134043) class AddUniqueIndexOnNumberToSpreePayments < ActiveRecord::Migration[5.0] def change unless index_exists?(:spree_payments, :number, unique: true) # default scope in Spree::Payment disturbs Postgres, hence `unscoped` is needed. numbers = Spree::Payment.unscoped.group(:number).having('sum(1) > 1').pluck(:number) payments = Spree::Payment.where(number: numbers) payments.find_each do |payment| payment.number = payment.class.number_generator.method(:generate_permalink).call(payment.class) payment.save end remove_index :spree_payments, :number if index_exists?(:spree_payments, :number) add_index :spree_payments, :number, unique: true end end end
Version data entries
8 entries across 8 versions & 2 rubygems