From 1793aa3532cc622bb8c2bebd81ffa056b3e6d41a Mon Sep 17 00:00:00 2001 From: Gaetan Craig-Riou Date: Mon, 19 Aug 2024 15:14:36 +1000 Subject: [PATCH] Migrate unit sizes to variant --- ...819045115_migrate_unit_size_to_variants.rb | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 db/migrate/20240819045115_migrate_unit_size_to_variants.rb diff --git a/db/migrate/20240819045115_migrate_unit_size_to_variants.rb b/db/migrate/20240819045115_migrate_unit_size_to_variants.rb new file mode 100644 index 0000000000..4747d84939 --- /dev/null +++ b/db/migrate/20240819045115_migrate_unit_size_to_variants.rb @@ -0,0 +1,21 @@ +class MigrateUnitSizeToVariants < ActiveRecord::Migration[7.0] + def up + # Copy variant_unit only if it's empty in the variant + ActiveRecord::Base.connection.execute(<<-SQL + UPDATE spree_variants + SET variant_unit = spree_products.variant_unit + FROM spree_products + WHERE spree_variants.product_id = spree_products.id + AND spree_variants.variant_unit IS NULL + SQL + ) + + ActiveRecord::Base.connection.execute(<<-SQL + UPDATE spree_variants + SET variant_unit_scale = spree_products.variant_unit_scale, variant_unit_name = spree_products.variant_unit_name + FROM spree_products + WHERE spree_variants.product_id = spree_products.id + SQL + ) + end +end