aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/CHANGELOG.md4
-rw-r--r--activerecord/lib/active_record/railties/databases.rake36
-rw-r--r--activerecord/lib/active_record/tasks/database_tasks.rb3
-rw-r--r--activerecord/test/cases/tasks/mysql_rake_test.rb4
-rw-r--r--activerecord/test/cases/tasks/postgresql_rake_test.rb8
-rw-r--r--activerecord/test/cases/tasks/sqlite_rake_test.rb12
6 files changed, 16 insertions, 51 deletions
diff --git a/activerecord/CHANGELOG.md b/activerecord/CHANGELOG.md
index 0bef057836..ed16d68253 100644
--- a/activerecord/CHANGELOG.md
+++ b/activerecord/CHANGELOG.md
@@ -2,10 +2,6 @@
*Edo Balvers*
-* Exit with non-zero status for failed database rake tasks.
-
- *Jay Hayes*
-
* Added `ActiveRecord::Base.to_param` for convenient "pretty" URLs derived from a model's attribute or method.
Example:
diff --git a/activerecord/lib/active_record/railties/databases.rake b/activerecord/lib/active_record/railties/databases.rake
index 3ca66223b6..52b3d3e5e6 100644
--- a/activerecord/lib/active_record/railties/databases.rake
+++ b/activerecord/lib/active_record/railties/databases.rake
@@ -8,47 +8,31 @@ db_namespace = namespace :db do
namespace :create do
task :all => :load_config do
- begin
- ActiveRecord::Tasks::DatabaseTasks.create_all
- rescue
- exit(1)
- end
+ ActiveRecord::Tasks::DatabaseTasks.create_all
end
end
desc 'Create the database from DATABASE_URL or config/database.yml for the current Rails.env (use db:create:all to create all databases in the config)'
task :create => [:load_config] do
- begin
- if ENV['DATABASE_URL']
- ActiveRecord::Tasks::DatabaseTasks.create_database_url
- else
- ActiveRecord::Tasks::DatabaseTasks.create_current
- end
- rescue
- exit(1)
+ if ENV['DATABASE_URL']
+ ActiveRecord::Tasks::DatabaseTasks.create_database_url
+ else
+ ActiveRecord::Tasks::DatabaseTasks.create_current
end
end
namespace :drop do
task :all => :load_config do
- begin
- ActiveRecord::Tasks::DatabaseTasks.drop_all
- rescue
- exit(1)
- end
+ ActiveRecord::Tasks::DatabaseTasks.drop_all
end
end
desc 'Drops the database using DATABASE_URL or the current Rails.env (use db:drop:all to drop all databases)'
task :drop => [:load_config] do
- begin
- if ENV['DATABASE_URL']
- ActiveRecord::Tasks::DatabaseTasks.drop_database_url
- else
- ActiveRecord::Tasks::DatabaseTasks.drop_current
- end
- rescue
- exit(1)
+ if ENV['DATABASE_URL']
+ ActiveRecord::Tasks::DatabaseTasks.drop_database_url
+ else
+ ActiveRecord::Tasks::DatabaseTasks.drop_current
end
end
diff --git a/activerecord/lib/active_record/tasks/database_tasks.rb b/activerecord/lib/active_record/tasks/database_tasks.rb
index 0b6a49ac85..be7d496d15 100644
--- a/activerecord/lib/active_record/tasks/database_tasks.rb
+++ b/activerecord/lib/active_record/tasks/database_tasks.rb
@@ -69,11 +69,9 @@ module ActiveRecord
class_for_adapter(configuration['adapter']).new(*arguments).create
rescue DatabaseAlreadyExists
$stderr.puts "#{configuration['database']} already exists"
- raise
rescue Exception => error
$stderr.puts error, *(error.backtrace)
$stderr.puts "Couldn't create database for #{configuration.inspect}"
- raise
end
def create_all
@@ -97,7 +95,6 @@ module ActiveRecord
rescue Exception => error
$stderr.puts error, *(error.backtrace)
$stderr.puts "Couldn't drop #{configuration['database']}"
- raise
end
def drop_all
diff --git a/activerecord/test/cases/tasks/mysql_rake_test.rb b/activerecord/test/cases/tasks/mysql_rake_test.rb
index 75adbb70e8..7bf902681e 100644
--- a/activerecord/test/cases/tasks/mysql_rake_test.rb
+++ b/activerecord/test/cases/tasks/mysql_rake_test.rb
@@ -62,9 +62,7 @@ module ActiveRecord
ActiveRecord::StatementInvalid.new("Can't create database 'dev'; database exists:")
)
- assert_raises(ActiveRecord::Tasks::DatabaseAlreadyExists) do
- ActiveRecord::Tasks::DatabaseTasks.create @configuration
- end
+ ActiveRecord::Tasks::DatabaseTasks.create @configuration
end
end
diff --git a/activerecord/test/cases/tasks/postgresql_rake_test.rb b/activerecord/test/cases/tasks/postgresql_rake_test.rb
index c01c6de593..43a474e59b 100644
--- a/activerecord/test/cases/tasks/postgresql_rake_test.rb
+++ b/activerecord/test/cases/tasks/postgresql_rake_test.rb
@@ -60,9 +60,7 @@ module ActiveRecord
$stderr.expects(:puts).
with("Couldn't create database for #{@configuration.inspect}")
- assert_raises(Exception) do
- ActiveRecord::Tasks::DatabaseTasks.create @configuration
- end
+ ActiveRecord::Tasks::DatabaseTasks.create @configuration
end
def test_create_when_database_exists_outputs_info_to_stderr
@@ -72,9 +70,7 @@ module ActiveRecord
ActiveRecord::StatementInvalid.new('database "my-app-db" already exists')
)
- assert_raises(ActiveRecord::Tasks::DatabaseAlreadyExists) do
- ActiveRecord::Tasks::DatabaseTasks.create @configuration
- end
+ ActiveRecord::Tasks::DatabaseTasks.create @configuration
end
end
diff --git a/activerecord/test/cases/tasks/sqlite_rake_test.rb b/activerecord/test/cases/tasks/sqlite_rake_test.rb
index 102bddf6a6..826855ef38 100644
--- a/activerecord/test/cases/tasks/sqlite_rake_test.rb
+++ b/activerecord/test/cases/tasks/sqlite_rake_test.rb
@@ -28,9 +28,7 @@ module ActiveRecord
$stderr.expects(:puts).with("#{@database} already exists")
- assert_raises(ActiveRecord::Tasks::DatabaseAlreadyExists) do
- ActiveRecord::Tasks::DatabaseTasks.create @configuration, '/rails/root'
- end
+ ActiveRecord::Tasks::DatabaseTasks.create @configuration, '/rails/root'
end
def test_db_create_with_file_does_nothing
@@ -39,9 +37,7 @@ module ActiveRecord
ActiveRecord::Base.expects(:establish_connection).never
- assert_raises(ActiveRecord::Tasks::DatabaseAlreadyExists) do
- ActiveRecord::Tasks::DatabaseTasks.create @configuration, '/rails/root'
- end
+ ActiveRecord::Tasks::DatabaseTasks.create @configuration, '/rails/root'
end
def test_db_create_establishes_a_connection
@@ -57,9 +53,7 @@ module ActiveRecord
$stderr.expects(:puts).
with("Couldn't create database for #{@configuration.inspect}")
- assert_raises(Exception) do
- ActiveRecord::Tasks::DatabaseTasks.create @configuration, '/rails/root'
- end
+ ActiveRecord::Tasks::DatabaseTasks.create @configuration, '/rails/root'
end
end