mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
DEV: Auto link video placeholder posts (#24576)
* DEV: Auto link video placeholder posts
Followup to 91232847e3
Adds a migration to auto-link any video placeholder posts so that upload
references will be created.
Co-authored-by: Jarek Radosz <jradosz@gmail.com>
This commit is contained in:
parent
6f3b087907
commit
52617e7425
@ -0,0 +1,36 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class TriggerAutoLinkingForVideosSincePlaceholder < ActiveRecord::Migration[7.0]
|
||||||
|
disable_ddl_transaction!
|
||||||
|
|
||||||
|
def up
|
||||||
|
# Rebake any existing video placeholder posts to ensure they are auto-linked
|
||||||
|
# to post uploads
|
||||||
|
max_id = DB.query_single(<<~SQL).first.to_i
|
||||||
|
SELECT MAX(id)
|
||||||
|
FROM posts
|
||||||
|
SQL
|
||||||
|
|
||||||
|
chunk_size = 100_000
|
||||||
|
while max_id > 0
|
||||||
|
ids = DB.query_single(<<~SQL, start: max_id - chunk_size, finish: max_id)
|
||||||
|
SELECT id
|
||||||
|
FROM posts
|
||||||
|
WHERE cooked LIKE '%video-placeholder-container%'
|
||||||
|
AND id > :start AND id <= :finish
|
||||||
|
SQL
|
||||||
|
|
||||||
|
DB.exec(<<~SQL, ids: ids) if ids && ids.length > 0
|
||||||
|
UPDATE posts
|
||||||
|
SET baked_version = NULL
|
||||||
|
WHERE id IN (:ids)
|
||||||
|
SQL
|
||||||
|
|
||||||
|
max_id -= chunk_size
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def down
|
||||||
|
raise ActiveRecord::IrreversibleMigration
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user