From 0360b3eb1f64128cfaa6c4eeb20e624f51e41ecf Mon Sep 17 00:00:00 2001 From: kennyj Date: Sat, 17 Mar 2012 13:57:10 +0900 Subject: [PATCH] Fix GH #5435. db:structure:dump should be reenable. --- .../lib/active_record/railties/databases.rake | 1 + railties/test/application/rake_test.rb | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/activerecord/lib/active_record/railties/databases.rake b/activerecord/lib/active_record/railties/databases.rake index f26989ae57..f26e18b1e0 100644 --- a/activerecord/lib/active_record/railties/databases.rake +++ b/activerecord/lib/active_record/railties/databases.rake @@ -426,6 +426,7 @@ db_namespace = namespace :db do if ActiveRecord::Base.connection.supports_migrations? File.open(filename, "a") { |f| f << ActiveRecord::Base.connection.dump_schema_information } end + db_namespace['structure:dump'].reenable end # desc "Recreate the databases from the structure.sql file" diff --git a/railties/test/application/rake_test.rb b/railties/test/application/rake_test.rb index b6cbb10141..27d521485c 100644 --- a/railties/test/application/rake_test.rb +++ b/railties/test/application/rake_test.rb @@ -140,6 +140,18 @@ module ApplicationTests assert File.exists?(File.join(app_path, 'db', 'my_structure.sql')) end + def test_rake_dump_structure_should_be_called_twice_when_migrate_redo + add_to_config "config.active_record.schema_format = :sql" + + output = Dir.chdir(app_path) do + `rails g model post title:string; + bundle exec rake db:migrate:redo 2>&1 --trace;` + end + + # expect only Invoke db:structure:dump (first_time) + assert_no_match(/^\*\* Invoke db:structure:dump\s+$/, output) + end + def test_rake_dump_schema_cache Dir.chdir(app_path) do `rails generate model post title:string;