Martin Brennan 2020-03-02 15:40:29 +10:00 committed by GitHub
parent 4635be10c8
commit 8123538c94
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 5 deletions

View File

@ -918,8 +918,8 @@ class Post < ActiveRecord::Base
if SiteSetting.secure_media? if SiteSetting.secure_media?
Upload.where( Upload.where(
id: upload_ids, access_control_post_id: nil id: upload_ids, access_control_post_id: nil
).where.not( ).where(
id: CustomEmoji.pluck(:upload_id) 'id NOT IN (SELECT upload_id FROM custom_emojis)'
).update_all( ).update_all(
access_control_post_id: self.id access_control_post_id: self.id
) )

View File

@ -17,8 +17,14 @@ RSpec.describe "bookmarks tasks" do
create_post_actions_and_existing_bookmarks create_post_actions_and_existing_bookmarks
end end
def invoke_task(args = nil)
capture_stdout do
Rake::Task['bookmarks:sync_to_table'].invoke(args)
end
end
it "migrates all PostActions" do it "migrates all PostActions" do
Rake::Task['bookmarks:sync_to_table'].invoke invoke_task
expect(Bookmark.all.count).to eq(3) expect(Bookmark.all.count).to eq(3)
end end
@ -26,14 +32,14 @@ RSpec.describe "bookmarks tasks" do
it "does not create bookmarks that already exist in the bookmarks table for a user" do it "does not create bookmarks that already exist in the bookmarks table for a user" do
Fabricate(:bookmark, user: user1, post: post1) Fabricate(:bookmark, user: user1, post: post1)
Rake::Task['bookmarks:sync_to_table'].invoke invoke_task
expect(Bookmark.all.count).to eq(3) expect(Bookmark.all.count).to eq(3)
expect(Bookmark.where(post: post1, user: user1).count).to eq(1) expect(Bookmark.where(post: post1, user: user1).count).to eq(1)
end end
it "respects the sync_limit if provided and stops creating bookmarks at the limit (so this can be run progrssively" do it "respects the sync_limit if provided and stops creating bookmarks at the limit (so this can be run progrssively" do
Rake::Task['bookmarks:sync_to_table'].invoke(1) invoke_task(1)
expect(Bookmark.all.count).to eq(1) expect(Bookmark.all.count).to eq(1)
end end