From 070d1e722ec7cd93c57be8d6b3ed40d1f35334af Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Fri, 28 Jul 2023 16:06:48 +1000 Subject: [PATCH] Require EnterpriseRole.belongs_to by default --- app/models/enterprise_role.rb | 3 ++- ...060433_require_user_and_enterprise_on_enterprise_role.rb | 6 ++++++ db/schema.rb | 4 ++-- 3 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 db/migrate/20230728060433_require_user_and_enterprise_on_enterprise_role.rb 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"