mirror of
https://github.com/discourse/discourse.git
synced 2025-02-21 01:25:53 +08:00

`rake multisite:migrate` runs SeedFu concurently in threads so we need this to be thread safe.
25 lines
608 B
Ruby
25 lines
608 B
Ruby
# frozen_string_literal: true
|
|
|
|
class SeedData::Refresher
|
|
@mutex = Mutex.new
|
|
|
|
def self.refresh!
|
|
return if @refreshed
|
|
|
|
@mutex.synchronize do
|
|
return if @refreshed
|
|
# Fix any bust caches post initial migration
|
|
# Not that reset_column_information is not thread safe so we have to becareful
|
|
# not to run it concurrently within the same process.
|
|
ActiveRecord::Base.connection.tables.each do |table|
|
|
table.classify.constantize.reset_column_information rescue nil
|
|
end
|
|
|
|
@refreshed = true
|
|
end
|
|
end
|
|
end
|
|
|
|
SeedData::Refresher.refresh!
|
|
SiteSetting.refresh!
|