mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FIX: Move read state when moving posts
* Moves / copies post timings * Moves / copies topic users * Fixes a small bug in the calculation of post numbers
This commit is contained in:
31
app/jobs/onceoff/clean_up_post_timings.rb
Normal file
31
app/jobs/onceoff/clean_up_post_timings.rb
Normal file
@@ -0,0 +1,31 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module Jobs
|
||||
class CleanUpPostTimings < Jobs::Onceoff
|
||||
|
||||
# Remove post timings that are remnants of previous post moves
|
||||
# or other shenanigans and don't reference a valid user or post anymore.
|
||||
def execute_onceoff(args)
|
||||
DB.exec <<~SQL
|
||||
DELETE
|
||||
FROM post_timings pt
|
||||
WHERE NOT EXISTS(
|
||||
SELECT 1
|
||||
FROM posts p
|
||||
WHERE p.topic_id = pt.topic_id
|
||||
AND p.post_number = pt.post_number
|
||||
)
|
||||
SQL
|
||||
|
||||
DB.exec <<~SQL
|
||||
DELETE
|
||||
FROM post_timings pt
|
||||
WHERE NOT EXISTS(
|
||||
SELECT 1
|
||||
FROM users u
|
||||
WHERE pt.user_id = u.id
|
||||
)
|
||||
SQL
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user