diff --git a/app/models/user.rb b/app/models/user.rb index 3c0964010..2392bd5f1 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -24,6 +24,7 @@ class User < ApplicationRecord belongs_to :account belongs_to :inviter, class_name: 'User', required: false + has_many :invitees, class_name: 'User', foreign_key: 'inviter_id', dependent: :nullify has_many :assigned_conversations, foreign_key: 'assignee_id', class_name: 'Conversation', dependent: :nullify has_many :inbox_members, dependent: :destroy diff --git a/db/migrate/20191126185833_update_user_invite_foreign_key.rb b/db/migrate/20191126185833_update_user_invite_foreign_key.rb new file mode 100644 index 000000000..d11f093a1 --- /dev/null +++ b/db/migrate/20191126185833_update_user_invite_foreign_key.rb @@ -0,0 +1,6 @@ +class UpdateUserInviteForeignKey < ActiveRecord::Migration[6.0] + def change + remove_foreign_key :users, column: :inviter_id + add_foreign_key :users, :users, column: :inviter_id, on_delete: :nullify + end +end diff --git a/db/schema.rb b/db/schema.rb index 9e16ab19f..c27777a94 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.define(version: 2019_11_24_091232) do +ActiveRecord::Schema.define(version: 2019_11_26_185833) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -224,5 +224,5 @@ ActiveRecord::Schema.define(version: 2019_11_24_091232) do add_foreign_key "contact_inboxes", "contacts" add_foreign_key "contact_inboxes", "inboxes" - add_foreign_key "users", "users", column: "inviter_id" + add_foreign_key "users", "users", column: "inviter_id", on_delete: :nullify end