mirror of
https://github.com/discourse/discourse.git
synced 2025-01-18 11:42:53 +08:00
FIX: setup with db:create db:migrate (#29609)
After data seed, we should reset Redis cache to ensure that the correct flags are cached.
However, `db:create` is skipping Redis
https://github.com/discourse/discourse/blob/main/lib/tasks/db.rake#L39
And uses `ActiveSupport::Cache::MemoryStore.new`
e2292d4c59/lib/discourse.rb (L523)
Therefore, the reset flags cache was moved to initializers and evaluated only when the cache is Redis and Flags table already exists.
Meta: https://meta.discourse.org/t/development-install-fails-when-running-bin-rails-db-migrate/332754
This commit is contained in:
parent
6f8f6a7726
commit
d57b7abe67
8
config/initializers/100-flags.rb
Normal file
8
config/initializers/100-flags.rb
Normal file
|
@ -0,0 +1,8 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
# On initialize, reset flags cache
|
||||
Rails.application.config.to_prepare do
|
||||
if Discourse.cache.is_a?(Cache) && ActiveRecord::Base.connection.table_exists?(:flags)
|
||||
Flag.reset_flag_settings!
|
||||
end
|
||||
end
|
|
@ -74,5 +74,3 @@ Flag.unscoped.seed do |s|
|
|||
s.applies_to = %w[Post]
|
||||
s.skip_reset_flag_callback = true
|
||||
end
|
||||
|
||||
Flag.reset_flag_settings!
|
||||
|
|
Loading…
Reference in New Issue
Block a user