diff options
author | schneems <richard.schneeman@gmail.com> | 2013-12-25 09:47:57 -0500 |
---|---|---|
committer | schneems <richard.schneeman@gmail.com> | 2013-12-25 18:03:55 -0500 |
commit | ba882934bb66e240aef5e240272f3875ff86b8e7 (patch) | |
tree | dd3c68afc3a2015f582311ba421131a24550f709 /railties/test/application/rake | |
parent | d80ad96b9526178c1474204b73f9fbde4cb7728f (diff) | |
download | rails-ba882934bb66e240aef5e240272f3875ff86b8e7.tar.gz rails-ba882934bb66e240aef5e240272f3875ff86b8e7.tar.bz2 rails-ba882934bb66e240aef5e240272f3875ff86b8e7.zip |
Partial fix of database url tests
Prior to #13463 when `DATABASE_URL` was set, Rails automagically used that value instead of the database.yml. There are tests in dbs_test that expect this to still be true. After that PR, `RAILS_DATABASE_URL` is expected to be read into the YAML file via ERB, this PR fixes that behavior.
Note: this does not entirely fix the tests. It seems that `ActiveRecord::Tasks::DatabaseTasks.current_config` does not process the url string correctly (convert it into a hash), and ` ActiveRecord::Tasks::DatabaseTasks.structure_load(current_config, filename)` as well as other methods in `DatabaseTasks` expect a hash.
It seems like we should involve the resolver somewhere in this process to correctly convert the database url, I do not know the best place for that /cc @josevalim
Diffstat (limited to 'railties/test/application/rake')
-rw-r--r-- | railties/test/application/rake/dbs_test.rb | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/railties/test/application/rake/dbs_test.rb b/railties/test/application/rake/dbs_test.rb index 9a36d1ca01..3577aa2e6b 100644 --- a/railties/test/application/rake/dbs_test.rb +++ b/railties/test/application/rake/dbs_test.rb @@ -20,9 +20,12 @@ module ApplicationTests end def set_database_url - ENV['DATABASE_URL'] = File.join("sqlite3://:@localhost", database_url_db_name) + ENV['RAILS_DATABASE_URL'] = File.join("sqlite3://:@localhost", database_url_db_name) # ensure it's using the DATABASE_URL FileUtils.rm_rf("#{app_path}/config/database.yml") + File.open("#{app_path}/config/database.yml", 'w') do |f| + f << {ENV['RAILS_ENV'] => '<%= ENV["RAILS_DATABASE_URL"] %>'}.to_yaml + end end def expected |