diff --git a/app/models/enterprise_role.rb b/app/models/enterprise_role.rb index e19762d4a0..9fe57584f6 100644 --- a/app/models/enterprise_role.rb +++ b/app/models/enterprise_role.rb @@ -1,10 +1,11 @@ # frozen_string_literal: true class EnterpriseRole < ApplicationRecord + self.belongs_to_required_by_default = true + belongs_to :user, class_name: "Spree::User" belongs_to :enterprise - validates :user, :enterprise, presence: true validates :enterprise_id, uniqueness: { scope: :user_id, message: I18n.t(:enterprise_role_uniqueness_error) } diff --git a/db/migrate/20230728060433_require_user_and_enterprise_on_enterprise_role.rb b/db/migrate/20230728060433_require_user_and_enterprise_on_enterprise_role.rb new file mode 100644 index 0000000000..23b6711d68 --- /dev/null +++ b/db/migrate/20230728060433_require_user_and_enterprise_on_enterprise_role.rb @@ -0,0 +1,6 @@ +class RequireUserAndEnterpriseOnEnterpriseRole < ActiveRecord::Migration[7.0] + def change + change_column_null :enterprise_roles, :user_id, false + change_column_null :enterprise_roles, :enterprise_id, false + end +end diff --git a/db/schema.rb b/db/schema.rb index 6813c64165..38d709e9e8 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -175,8 +175,8 @@ ActiveRecord::Schema[7.0].define(version: 2023_08_09_201542) do end create_table "enterprise_roles", id: :serial, force: :cascade do |t| - t.integer "user_id" - t.integer "enterprise_id" + t.integer "user_id", null: false + t.integer "enterprise_id", null: false t.boolean "receives_notifications", default: false t.index ["enterprise_id", "user_id"], name: "index_enterprise_roles_on_enterprise_id_and_user_id", unique: true t.index ["enterprise_id"], name: "index_enterprise_roles_on_enterprise_id"