Require associations on DistributorShippingMethod

This commit is contained in:
Maikel Linke
2023-05-16 15:49:03 +10:00
parent bd11475fe1
commit 91d0dabc1d
4 changed files with 14 additions and 3 deletions

View File

@@ -2,6 +2,8 @@
class DistributorShippingMethod < ApplicationRecord
self.table_name = "distributors_shipping_methods"
self.belongs_to_required_by_default = true
belongs_to :shipping_method, class_name: "Spree::ShippingMethod", touch: true
belongs_to :distributor, class_name: "Enterprise", touch: true
end

View File

@@ -63,7 +63,8 @@ class Enterprise < ApplicationRecord
inverse_of: :owned_enterprises
has_many :distributor_payment_methods,
inverse_of: :distributor, foreign_key: :distributor_id
has_many :distributor_shipping_methods, foreign_key: :distributor_id
has_many :distributor_shipping_methods,
inverse_of: :distributor, foreign_key: :distributor_id
has_many :payment_methods, through: :distributor_payment_methods
has_many :shipping_methods, through: :distributor_shipping_methods
has_many :customers

View File

@@ -0,0 +1,8 @@
# frozen_string_literal: true
class RequireShippingMethodAndDistributorOnDistributorShippingMethods < ActiveRecord::Migration[7.0]
def change
change_column_null :distributors_shipping_methods, :shipping_method_id, false
change_column_null :distributors_shipping_methods, :distributor_id, false
end
end

View File

@@ -125,8 +125,8 @@ ActiveRecord::Schema[7.0].define(version: 2023_05_22_120633) do
end
create_table "distributors_shipping_methods", id: :serial, force: :cascade do |t|
t.integer "distributor_id"
t.integer "shipping_method_id"
t.integer "distributor_id", null: false
t.integer "shipping_method_id", null: false
t.datetime "created_at", precision: nil, null: false
t.datetime "updated_at", precision: nil, null: false
t.index ["distributor_id"], name: "index_distributors_shipping_methods_on_distributor_id"