diff --git a/app/models/spree/product_property.rb b/app/models/spree/product_property.rb index c14d7f9096..64736a4c39 100644 --- a/app/models/spree/product_property.rb +++ b/app/models/spree/product_property.rb @@ -2,7 +2,7 @@ module Spree class ProductProperty < ApplicationRecord - belongs_to :product, class_name: "Spree::Product", touch: true, optional: true + belongs_to :product, class_name: "Spree::Product", touch: true belongs_to :property, class_name: 'Spree::Property' validates :value, length: { maximum: 255 } diff --git a/db/migrate/20240430075133_require_product_on_product_property.rb b/db/migrate/20240430075133_require_product_on_product_property.rb new file mode 100644 index 0000000000..4dd309ce0a --- /dev/null +++ b/db/migrate/20240430075133_require_product_on_product_property.rb @@ -0,0 +1,5 @@ +class RequireProductOnProductProperty < ActiveRecord::Migration[7.0] + def change + change_column_null :spree_product_properties, :product_id, false + end +end diff --git a/db/schema.rb b/db/schema.rb index 97171b74ef..42e4b6ac40 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2024_04_24_121221) do +ActiveRecord::Schema[7.0].define(version: 2024_04_30_075133) do # These are extensions that must be enabled in order to support this database enable_extension "pg_stat_statements" enable_extension "plpgsql" @@ -674,7 +674,7 @@ ActiveRecord::Schema[7.0].define(version: 2024_04_24_121221) do create_table "spree_product_properties", id: :serial, force: :cascade do |t| t.string "value", limit: 255 - t.integer "product_id" + t.integer "product_id", null: false t.integer "property_id", null: false t.datetime "created_at", precision: nil, null: false t.datetime "updated_at", precision: nil, null: false