discourse/db/fixtures/001_refresh.rb
Guo Xiang Tan d775338d63
FIX: Use a mutex when reseting column information while seeding.
`rake multisite:migrate` runs SeedFu concurently in threads so we need
this to be thread safe.
2020-06-23 09:15:47 +08:00

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!