diff options
author | Gannon McGibbon <gannon.mcgibbon@gmail.com> | 2018-09-28 13:36:06 -0400 |
---|---|---|
committer | Gannon McGibbon <gannon.mcgibbon@gmail.com> | 2018-09-28 14:24:36 -0400 |
commit | 4775d3d051af1a506b63a7e4069c94e49c82177d (patch) | |
tree | bd4dfbe583b86ee24e2548b83cc50f323891a918 /activerecord/lib/rails/generators/active_record/migration.rb | |
parent | 7d89337b1722587961b9bb81031661b99935d919 (diff) | |
download | rails-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.rb | 19 |
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 |