diff --git a/db/migrate/20241211060023_remove_variant_default_value.rb b/db/migrate/20241211060023_remove_variant_default_value.rb new file mode 100644 index 0000000000..12518a10e7 --- /dev/null +++ b/db/migrate/20241211060023_remove_variant_default_value.rb @@ -0,0 +1,27 @@ +class RemoveVariantDefaultValue < ActiveRecord::Migration[7.0] + def up + change_table :spree_variants do |t| + t.change_null :weight, true + t.change_default :weight, nil + t.change_null :unit_value, true + t.change_default :unit_value, nil + end + execute <<-SQL + ALTER TABLE spree_variants + DROP CONSTRAINT IF EXISTS check_unit_value_for_nan; + ALTER TABLE spree_variants + DROP CONSTRAINT IF EXISTS check_weight_for_nan; + SQL + end + + def down + change_table :spree_variants do |t| + t.change_null :weight, false + t.change_default :weight, "0.0" + t.change_null :unit_value, false + t.change_default :unit_value, "1.0" + t.check_constraint("unit_value <> 'NaN'::double precision", name: "check_unit_value_for_nan") + t.check_constraint("weight <> 'NaN'::numeric", name: "check_weight_for_nan") + end + end +end