diff options
author | Wojciech Wnętrzak <w.wnetrzak@gmail.com> | 2019-06-03 15:55:37 +0200 |
---|---|---|
committer | Wojciech Wnętrzak <w.wnetrzak@gmail.com> | 2019-06-05 12:17:02 +0200 |
commit | 87796b3c8120becf583529756cbe5f36b4a3132c (patch) | |
tree | 5264aa28db489e93081f1258e11b87d661fc612d /railties/test/application | |
parent | 35a0fba187dc6a09d9f61336152158da238da444 (diff) | |
download | rails-87796b3c8120becf583529756cbe5f36b4a3132c.tar.gz rails-87796b3c8120becf583529756cbe5f36b4a3132c.tar.bz2 rails-87796b3c8120becf583529756cbe5f36b4a3132c.zip |
Fixed db:prepare task for multiple databases.
When one database existed already, but not the other,
during setup of missing one, existing database was wiped out.
Diffstat (limited to 'railties/test/application')
-rw-r--r-- | railties/test/application/rake/multi_dbs_test.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/railties/test/application/rake/multi_dbs_test.rb b/railties/test/application/rake/multi_dbs_test.rb index 31ea2246a9..8c41b252da 100644 --- a/railties/test/application/rake/multi_dbs_test.rb +++ b/railties/test/application/rake/multi_dbs_test.rb @@ -303,6 +303,26 @@ module ApplicationTests require "#{app_path}/config/environment" db_prepare end + + test "db:prepare setups missing database without clearing existing one" do + require "#{app_path}/config/environment" + Dir.chdir(app_path) do + # Bug not visible on SQLite3. Can be simplified when https://github.com/rails/rails/issues/36383 resolved + use_postgresql(multi_db: true) + generate_models_for_animals + + rails "db:create:animals", "db:migrate:animals", "db:create:primary", "db:migrate:primary", "db:schema:dump" + rails "db:drop:primary" + Dog.create! + output = rails("db:prepare") + + assert_match(/Created database/, output) + assert_equal 1, Dog.count + ensure + Dog.connection.disconnect! + rails "db:drop" rescue nil + end + end end end end |