Merge pull request #9122 from apricot12/8959-Remove-addresse-without-phone

Migration to remove addresses with empty phone number.
This commit is contained in:
Filipe
2022-06-09 18:52:55 +01:00
committed by GitHub
2 changed files with 22 additions and 1 deletions

View File

@@ -0,0 +1,21 @@
class RemoveBillAddressesWithNullPhone < ActiveRecord::Migration[6.1]
class BillAddress < ActiveRecord::Base
self.table_name = "spree_addresses"
scope :invalid, -> { where(phone: nil) }
end
class SpreeUser < ActiveRecord::Base
belongs_to :bill_address
def self.invalid_bill_address_ids
joins(:bill_address).merge(BillAddress.invalid).pluck(:bill_address_id)
end
end
def up
address_ids = SpreeUser.invalid_bill_address_ids
SpreeUser.where(bill_address_id: address_ids).update_all(bill_address_id: nil)
BillAddress.where(id: address_ids).delete_all
end
end

View File

@@ -1300,7 +1300,7 @@ ActiveRecord::Schema.define(version: 2022_06_02_013938) do
add_foreign_key "spree_tax_rates", "spree_zones", column: "zone_id", name: "spree_tax_rates_zone_id_fk"
add_foreign_key "spree_taxons", "spree_taxonomies", column: "taxonomy_id", name: "spree_taxons_taxonomy_id_fk"
add_foreign_key "spree_taxons", "spree_taxons", column: "parent_id", name: "spree_taxons_parent_id_fk"
add_foreign_key "spree_users", "spree_addresses", column: "bill_address_id", name: "spree_users_bill_address_id_fk"
add_foreign_key "spree_users", "spree_addresses", column: "bill_address_id", name: "spree_users_bill_address_id_fk", on_delete: :nullify
add_foreign_key "spree_users", "spree_addresses", column: "ship_address_id", name: "spree_users_ship_address_id_fk"
add_foreign_key "spree_variants", "spree_products", column: "product_id", name: "spree_variants_product_id_fk"
add_foreign_key "spree_zone_members", "spree_zones", column: "zone_id", name: "spree_zone_members_zone_id_fk"