aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/rails/generators/active_record/migration.rb
diff options
context:
space:
mode:
authorGannon McGibbon <gannon.mcgibbon@gmail.com>2018-09-28 13:36:06 -0400
committerGannon McGibbon <gannon.mcgibbon@gmail.com>2018-09-28 14:24:36 -0400
commit4775d3d051af1a506b63a7e4069c94e49c82177d (patch)
treebd4dfbe583b86ee24e2548b83cc50f323891a918 /activerecord/lib/rails/generators/active_record/migration.rb
parent7d89337b1722587961b9bb81031661b99935d919 (diff)
downloadrails-4775d3d051af1a506b63a7e4069c94e49c82177d.tar.gz
rails-4775d3d051af1a506b63a7e4069c94e49c82177d.tar.bz2
rails-4775d3d051af1a506b63a7e4069c94e49c82177d.zip
Refactor migrations_path command option to database
Diffstat (limited to 'activerecord/lib/rails/generators/active_record/migration.rb')
-rw-r--r--activerecord/lib/rails/generators/active_record/migration.rb19
1 files changed, 15 insertions, 4 deletions
diff --git a/activerecord/lib/rails/generators/active_record/migration.rb b/activerecord/lib/rails/generators/active_record/migration.rb
index 4a17082d66..cbb88d571d 100644
--- a/activerecord/lib/rails/generators/active_record/migration.rb
+++ b/activerecord/lib/rails/generators/active_record/migration.rb
@@ -24,14 +24,25 @@ module ActiveRecord
end
def db_migrate_path
- if migrations_paths = options[:migrations_paths]
- migrations_paths
- elsif defined?(Rails.application) && Rails.application
- Rails.application.config.paths["db/migrate"].to_ary.first
+ if defined?(Rails.application) && Rails.application
+ configured_migrate_path || default_migrate_path
else
"db/migrate"
end
end
+
+ def default_migrate_path
+ Rails.application.config.paths["db/migrate"].to_ary.first
+ end
+
+ def configured_migrate_path
+ return unless database = options[:database]
+ config = ActiveRecord::Base.configurations.configs_for(
+ env_name: Rails.env,
+ spec_name: database,
+ )
+ config&.migrations_paths
+ end
end
end
end