Use composite primary key for `PreviewCardsStatus` model (#28208)
parent
da3d8aff79
commit
3918dc68c7
|
@ -9,9 +9,7 @@
|
|||
# url :string
|
||||
#
|
||||
class PreviewCardsStatus < ApplicationRecord
|
||||
# Composite primary keys are not properly supported in Rails. However,
|
||||
# we shouldn't need this anyway...
|
||||
self.primary_key = nil
|
||||
self.primary_key = [:preview_card_id, :status_id]
|
||||
|
||||
belongs_to :preview_card
|
||||
belongs_to :status
|
||||
|
|
|
@ -82,8 +82,7 @@ class Status < ApplicationRecord
|
|||
|
||||
has_and_belongs_to_many :tags
|
||||
|
||||
# Because of a composite primary key, the `dependent` option cannot be used on this association
|
||||
has_one :preview_cards_status, inverse_of: :status # rubocop:disable Rails/HasManyOrHasOneDependent
|
||||
has_one :preview_cards_status, inverse_of: :status, dependent: :delete
|
||||
|
||||
has_one :notification, as: :activity, dependent: :destroy
|
||||
has_one :status_stat, inverse_of: :status, dependent: nil
|
||||
|
@ -146,7 +145,6 @@ class Status < ApplicationRecord
|
|||
# The `prepend: true` option below ensures this runs before
|
||||
# the `dependent: destroy` callbacks remove relevant records
|
||||
before_destroy :unlink_from_conversations!, prepend: true
|
||||
before_destroy :reset_preview_card!
|
||||
|
||||
cache_associated :application,
|
||||
:media_attachments,
|
||||
|
|
Loading…
Reference in New Issue