Fix loading schema cache when all databases have disabled database tasks

This commit is contained in:
fatkodima 2024-01-30 13:48:51 +02:00
parent 1cb5b8d5a9
commit b8585b3b3a
2 changed files with 18 additions and 0 deletions

@ -147,6 +147,7 @@ class Railtie < Rails::Railtie # :nodoc:
config.after_initialize do |app|
ActiveSupport.on_load(:active_record) do
db_config = ActiveRecord::Base.configurations.configs_for(env_name: Rails.env).first
next if db_config.nil?
filename = ActiveRecord::Tasks::DatabaseTasks.cache_dump_filename(db_config)

@ -239,6 +239,23 @@ def show
ActiveRecord::Base.connection.drop_table("posts", if_exists: true) # force drop posts table for test.
end
test "skips checking for schema cache dump when all databases skipping database tasks" do
app_file "config/database.yml", <<-YAML
development:
database: storage/default.sqlite3
adapter: sqlite3
database_tasks: false
YAML
add_to_config <<-RUBY
config.eager_load = true
RUBY
assert_nothing_raised do
require "#{app_path}/config/environment"
end
end
test "expire schema cache dump" do
rails %w(generate model post title:string)
rails %w(db:migrate db:schema:cache:dump db:rollback)