このコミットが含まれているのは:
2026-03-12 00:46:21 +09:00
コミット 2e2b99f74b
9個のファイルの変更105行の追加44行の削除
+10 -6
ファイルの表示
@@ -162,14 +162,18 @@ class Tag < ApplicationRecord
end
source_tag_name = source_tag.tag_name
nico_flg = source_tag.nico?
source_tag.discard!
source_tag_name.reload
if nico_flg
source_tag_name.destroy!
if source_tag_name.wiki_page.present?
raise ActiveRecord::RecordInvalid.new(source_tag_name)
end
source_tag.discard!
if source_tag.nico?
source_tag_name.discard!
else
source_tag_name.update!(canonical: target_tag.tag_name)
source_tag_name.update_columns(canonical_id: target_tag.tag_name_id,
updated_at: Time.current)
end
end
+4
ファイルの表示
@@ -1,4 +1,8 @@
class TagName < ApplicationRecord
include Discard::Model
default_scope -> { kept }
has_one :tag
has_one :wiki_page
+8 -5
ファイルの表示
@@ -24,12 +24,15 @@ class TagNameSanitisationRule < ApplicationRecord
existing_tn = existing_tn.canonical || existing_tn
next if existing_tn.id == tn.id
if existing_tn.tag
Tag.merge_tags!(existing_tn.tag, tn.tag) if tn.tag
elsif tn.tag
tn.tag.update_columns(tag_name_id: existing_tn.id, updated_at: Time.current)
existing_tag = Tag.find_by(tag_name_id: existing_tn.id)
source_tag = Tag.find_by(tag_name_id: tn.id)
if existing_tag
Tag.merge_tags!(existing_tag, source_tag) if tn.tag
elsif source_tag
source_tag.update_columns(tag_name_id: existing_tn.id, updated_at: Time.current)
end
tn.destroy!
tn.discard!
next
end
+4
ファイルの表示
@@ -2,6 +2,10 @@ require 'set'
class WikiPage < ApplicationRecord
include Discard::Model
default_scope -> { kept }
has_many :wiki_revisions, dependent: :destroy
belongs_to :created_user, class_name: 'User'
belongs_to :updated_user, class_name: 'User'