Merge remote-tracking branch 'parent/main' into upstream-20241206

This commit is contained in:
KMY 2024-12-06 12:17:45 +09:00
commit 3c3ee557d0
187 changed files with 1105 additions and 537 deletions

View file

@ -0,0 +1,21 @@
# frozen_string_literal: true
class MoveTagTrendsToTable < ActiveRecord::Migration[7.2]
include Redisable
disable_ddl_transaction!
def up
redis.zrange('trending_tags:all', 0, -1, with_scores: true).each_slice(1_000) do |data|
TagTrend.upsert_all(data.map { |(tag_id, score)| { tag_id: tag_id, score: score, language: '', allowed: redis.zscore('trending_tags:allowed', tag_id).present? } }, unique_by: %w(tag_id language))
end
TagTrend.recalculate_ordered_rank
redis.del('trending_tags:allowed', 'trending_tags:all')
end
def down
raise ActiveRecord::IrreversibleMigration
end
end

View file

@ -0,0 +1,30 @@
# frozen_string_literal: true
class RemoveLegacyUserSettingsColumns < ActiveRecord::Migration[7.2]
disable_ddl_transaction!
def up
# In normal usage this should not find anything to delete
# Deletion here is already done in RemoveLegacyUserSettingsData migration
# and no data like this should be created from app at this point
# Deleting again out of caution
connection.execute(<<~SQL.squish)
DELETE FROM settings
WHERE
thing_type IS NOT NULL
AND thing_id IS NOT NULL
SQL
add_index :settings, :var, unique: true, algorithm: :concurrently
remove_index :settings, [:thing_type, :thing_id, :var], name: :index_settings_on_thing_type_and_thing_id_and_var, unique: true
safety_assured do
remove_column :settings, :thing_type, :string
remove_column :settings, :thing_id, :bigint
end
end
def down
raise ActiveRecord::IrreversibleMigration
end
end