aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/migration.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/migration.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/migration.rb')
-rw-r--r--activerecord/lib/active_record/migration.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/migration.rb b/activerecord/lib/active_record/migration.rb
index 15e9c09ffb..4d4b0dc67a 100644
--- a/activerecord/lib/active_record/migration.rb
+++ b/activerecord/lib/active_record/migration.rb
@@ -1053,7 +1053,15 @@ module ActiveRecord
end
end
- def current_version(connection = Base.connection)
+ def current_version(connection = nil)
+ if connection.nil?
+ begin
+ connection = Base.connection
+ rescue ActiveRecord::NoDatabaseError
+ return nil
+ end
+ end
+
get_all_versions(connection).max || 0
end