Merge remote-tracking branch 'upstream/pull/5667'
This commit is contained in:
commit
b8b9c3d1e9
2 changed files with 31 additions and 0 deletions
30
db/migrate/20250212160355_backfill_note_descriptions.rb
Normal file
30
db/migrate/20250212160355_backfill_note_descriptions.rb
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
class BackfillNoteDescriptions < ActiveRecord::Migration[7.2]
|
||||||
|
class Note < ApplicationRecord; end
|
||||||
|
class NoteComment < ApplicationRecord; end
|
||||||
|
|
||||||
|
disable_ddl_transaction!
|
||||||
|
|
||||||
|
def up
|
||||||
|
Note.in_batches(:of => 1000) do |notes|
|
||||||
|
note_ids = notes.pluck(:id)
|
||||||
|
|
||||||
|
sql_query = <<-SQL.squish
|
||||||
|
WITH first_comment AS(
|
||||||
|
SELECT DISTINCT ON (note_id) *
|
||||||
|
FROM note_comments
|
||||||
|
WHERE note_id BETWEEN #{note_ids.min} AND #{note_ids.max}
|
||||||
|
ORDER BY note_id, id
|
||||||
|
)
|
||||||
|
UPDATE notes
|
||||||
|
SET description = first_comment.body,
|
||||||
|
user_id = first_comment.author_id,
|
||||||
|
user_ip = first_comment.author_ip
|
||||||
|
FROM first_comment
|
||||||
|
WHERE first_comment.note_id = notes.id
|
||||||
|
AND first_comment.event = 'opened';
|
||||||
|
SQL
|
||||||
|
|
||||||
|
ActiveRecord::Base.connection.execute(sql_query)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -3429,6 +3429,7 @@ INSERT INTO "schema_migrations" (version) VALUES
|
||||||
('23'),
|
('23'),
|
||||||
('22'),
|
('22'),
|
||||||
('21'),
|
('21'),
|
||||||
|
('20250212160355'),
|
||||||
('20250206202905'),
|
('20250206202905'),
|
||||||
('20250121191749'),
|
('20250121191749'),
|
||||||
('20250105154621'),
|
('20250105154621'),
|
||||||
|
|
Loading…
Add table
Reference in a new issue