aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/railtie.rb
diff options
context:
space:
mode:
authoryuuji.yaginuma <yuuji.yaginuma@gmail.com>2017-12-01 18:16:06 +0900
committeryuuji.yaginuma <yuuji.yaginuma@gmail.com>2017-12-03 09:50:28 +0900
commitdbee80bca0ef504120219e6c7686437456511060 (patch)
tree0b7db3246f94a7df6ca928c1a8a7bf8515e6bc97 /activerecord/lib/active_record/railtie.rb
parent33a3f7123bc4cc49b99b01a40bbfd463b2e73f76 (diff)
downloadrails-dbee80bca0ef504120219e6c7686437456511060.tar.gz
rails-dbee80bca0ef504120219e6c7686437456511060.tar.bz2
rails-dbee80bca0ef504120219e6c7686437456511060.zip
Make `Migrator.current_version` work without a current database
This is necessary in order to make the processing dependent on `Migrator.current_version` work even without database. Context: https://github.com/rails/rails/pull/31135#issuecomment-348404326
Diffstat (limited to 'activerecord/lib/active_record/railtie.rb')
-rw-r--r--activerecord/lib/active_record/railtie.rb7
1 files changed, 5 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/railtie.rb b/activerecord/lib/active_record/railtie.rb
index 9ee8425e1b..4538ed6a5f 100644
--- a/activerecord/lib/active_record/railtie.rb
+++ b/activerecord/lib/active_record/railtie.rb
@@ -90,12 +90,15 @@ module ActiveRecord
filename = File.join(app.config.paths["db"].first, "schema_cache.yml")
if File.file?(filename)
+ current_version = ActiveRecord::Migrator.current_version
+ next if current_version.nil?
+
cache = YAML.load(File.read(filename))
- if cache.version == ActiveRecord::Migrator.current_version
+ if cache.version == current_version
connection.schema_cache = cache
connection_pool.schema_cache = cache.dup
else
- warn "Ignoring db/schema_cache.yml because it has expired. The current schema version is #{ActiveRecord::Migrator.current_version}, but the one in the cache is #{cache.version}."
+ warn "Ignoring db/schema_cache.yml because it has expired. The current schema version is #{current_version}, but the one in the cache is #{cache.version}."
end
end
end