Add post-deployment migration script to delete public-boosts-of-private-toots (#10783)
This commit is contained in:
		
							parent
							
								
									d587a943a5
								
							
						
					
					
						commit
						a6815a7578
					
				@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					class RemoveBoostsWideningAudience < ActiveRecord::Migration[5.2]
 | 
				
			||||||
 | 
					  disable_ddl_transaction!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  def up
 | 
				
			||||||
 | 
					    public_boosts = Status.find_by_sql(<<-SQL)
 | 
				
			||||||
 | 
					      SELECT boost.id
 | 
				
			||||||
 | 
					      FROM statuses AS boost
 | 
				
			||||||
 | 
					      LEFT JOIN statuses AS boosted ON boost.reblog_of_id = boosted.id
 | 
				
			||||||
 | 
					      WHERE
 | 
				
			||||||
 | 
					        boost.id > 101746055577600000
 | 
				
			||||||
 | 
					        AND (boost.local = TRUE OR boost.uri IS NULL)
 | 
				
			||||||
 | 
					        AND boost.visibility IN (0, 1)
 | 
				
			||||||
 | 
					        AND boost.reblog_of_id IS NOT NULL
 | 
				
			||||||
 | 
					        AND boosted.visibility = 2
 | 
				
			||||||
 | 
					    SQL
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    RemovalWorker.push_bulk(public_boosts.pluck(:id))
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  def down
 | 
				
			||||||
 | 
					    raise ActiveRecord::IrreversibleMigration
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
@ -10,7 +10,7 @@
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
# It's strongly recommended that you check this file into your version control system.
 | 
					# It's strongly recommended that you check this file into your version control system.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ActiveRecord::Schema.define(version: 2019_04_20_025523) do
 | 
					ActiveRecord::Schema.define(version: 2019_05_19_130537) do
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # These are extensions that must be enabled in order to support this database
 | 
					  # These are extensions that must be enabled in order to support this database
 | 
				
			||||||
  enable_extension "plpgsql"
 | 
					  enable_extension "plpgsql"
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user