diff options
author | José Valim <jose.valim@plataformatec.com.br> | 2013-12-23 12:28:04 -0800 |
---|---|---|
committer | José Valim <jose.valim@plataformatec.com.br> | 2013-12-23 12:28:04 -0800 |
commit | 33cb2f334db7d8c173a7f801a678fe5696169ed7 (patch) | |
tree | 2bb07cdaad4af8c43ccc891503630bbed12cbf89 /activerecord/lib/active_record/railtie.rb | |
parent | 7530c82e8257effa8ee3a7e0a2f7aed39502d201 (diff) | |
parent | 2d4cfb28408f53daea11f45fb5e0aebdce8963d3 (diff) | |
download | rails-33cb2f334db7d8c173a7f801a678fe5696169ed7.tar.gz rails-33cb2f334db7d8c173a7f801a678fe5696169ed7.tar.bz2 rails-33cb2f334db7d8c173a7f801a678fe5696169ed7.zip |
Merge pull request #13463 from josevalim/jv-env
Do not store production information in .yml files
Diffstat (limited to 'activerecord/lib/active_record/railtie.rb')
-rw-r--r-- | activerecord/lib/active_record/railtie.rb | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/railtie.rb b/activerecord/lib/active_record/railtie.rb index ff98c829f4..2c796f97e6 100644 --- a/activerecord/lib/active_record/railtie.rb +++ b/activerecord/lib/active_record/railtie.rb @@ -43,11 +43,24 @@ module ActiveRecord namespace :db do task :load_config do ActiveRecord::Tasks::DatabaseTasks.db_dir = Rails.application.config.paths["db"].first - ActiveRecord::Tasks::DatabaseTasks.database_configuration = Rails.application.config.database_configuration ActiveRecord::Tasks::DatabaseTasks.migrations_paths = Rails.application.paths['db/migrate'].to_a ActiveRecord::Tasks::DatabaseTasks.fixtures_path = File.join Rails.root, 'test', 'fixtures' ActiveRecord::Tasks::DatabaseTasks.root = Rails.root + configuration = if ENV["DATABASE_URL"] + { Rails.env => ENV["DATABASE_URL"] } + else + Rails.application.config.database_configuration || {} + end + + resolver = ActiveRecord::ConnectionAdapters::ConnectionSpecification::Resolver.new(configuration) + + configuration.each do |key, value| + configuration[key] = resolver.resolve(value) if value + end + + ActiveRecord::Tasks::DatabaseTasks.database_configuration = configuration + if defined?(ENGINE_PATH) && engine = Rails::Engine.find(ENGINE_PATH) if engine.paths['db/migrate'].existent ActiveRecord::Tasks::DatabaseTasks.migrations_paths += engine.paths['db/migrate'].to_a |