aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/application
diff options
context:
space:
mode:
authorEileen M. Uchitelle <eileencodes@users.noreply.github.com>2019-04-02 15:33:57 -0400
committerGitHub <noreply@github.com>2019-04-02 15:33:57 -0400
commit2c4dab11d1db468f54b409250f3c39ff555e8d50 (patch)
treec77a03190c8088159fcacf6fbd032ba0bf647d6b /railties/test/application
parent015bfd1e705084b7dd5d4f2e38708a40b562dea3 (diff)
parent1c7dcffb647f83c9d2b32de2f7faf4137958be2a (diff)
downloadrails-2c4dab11d1db468f54b409250f3c39ff555e8d50.tar.gz
rails-2c4dab11d1db468f54b409250f3c39ff555e8d50.tar.bz2
rails-2c4dab11d1db468f54b409250f3c39ff555e8d50.zip
Merge pull request #35768 from robertomiranda/r/rake-db-prepare
Add db:prepare rake task.
Diffstat (limited to 'railties/test/application')
-rw-r--r--railties/test/application/rake/dbs_test.rb16
-rw-r--r--railties/test/application/rake/multi_dbs_test.rb20
2 files changed, 36 insertions, 0 deletions
diff --git a/railties/test/application/rake/dbs_test.rb b/railties/test/application/rake/dbs_test.rb
index 75b9316593..258066a7e6 100644
--- a/railties/test/application/rake/dbs_test.rb
+++ b/railties/test/application/rake/dbs_test.rb
@@ -553,6 +553,22 @@ module ApplicationTests
end
end
end
+
+ test "db:prepare setup the database" do
+ Dir.chdir(app_path) do
+ rails "generate", "model", "book", "title:string"
+ output = rails("db:prepare")
+ assert_match(/CreateBooks: migrated/, output)
+
+ output = rails("db:drop")
+ assert_match(/Dropped database/, output)
+
+ rails "generate", "model", "recipe", "title:string"
+ output = rails("db:prepare")
+ assert_match(/CreateBooks: migrated/, output)
+ assert_match(/CreateRecipes: migrated/, output)
+ end
+ end
end
end
end
diff --git a/railties/test/application/rake/multi_dbs_test.rb b/railties/test/application/rake/multi_dbs_test.rb
index d676e7486e..147b8f94e1 100644
--- a/railties/test/application/rake/multi_dbs_test.rb
+++ b/railties/test/application/rake/multi_dbs_test.rb
@@ -137,6 +137,21 @@ module ApplicationTests
end
end
+ def db_prepare
+ Dir.chdir(app_path) do
+ generate_models_for_animals
+ output = rails("db:prepare")
+
+ ActiveRecord::Base.configurations.configs_for(env_name: Rails.env).each do |db_config|
+ if db_config.spec_name == "primary"
+ assert_match(/CreateBooks: migrated/, output)
+ else
+ assert_match(/CreateDogs: migrated/, output)
+ end
+ end
+ end
+ end
+
def write_models_for_animals
# make a directory for the animals migration
FileUtils.mkdir_p("#{app_path}/db/animals_migrate")
@@ -226,6 +241,11 @@ module ApplicationTests
require "#{app_path}/config/environment"
db_migrate_and_schema_cache_dump_and_schema_cache_clear
end
+
+ test "db:prepare works on all databases" do
+ require "#{app_path}/config/environment"
+ db_prepare
+ end
end
end
end