aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/tasks/database_tasks.rb
diff options
context:
space:
mode:
authorCarlos Antonio da Silva <carlosantoniodasilva@gmail.com>2013-01-09 00:58:23 -0200
committerCarlos Antonio da Silva <carlosantoniodasilva@gmail.com>2013-01-12 09:28:13 -0200
commit9b636dcf53e4ac410186a720d5bef783fc8648c4 (patch)
tree4eb46d9fbc6c85cdcd29028d6d6853957a910f7f /activerecord/lib/active_record/tasks/database_tasks.rb
parentc1d722558ee2bd373ca4768c48b8ae944e1bdb05 (diff)
downloadrails-9b636dcf53e4ac410186a720d5bef783fc8648c4.tar.gz
rails-9b636dcf53e4ac410186a720d5bef783fc8648c4.tar.bz2
rails-9b636dcf53e4ac410186a720d5bef783fc8648c4.zip
Bring back "database already exists" messages when running rake tasks
When running tasks such "rake db:setup", instead of showing messages like "db_development already exists", it was showing a big stack trace and a message "Couldn't create database for ..." with the configuration options, a very confusing message with a big trace. This brings back the functionality present in 3-2, showing the same message.
Diffstat (limited to 'activerecord/lib/active_record/tasks/database_tasks.rb')
-rw-r--r--activerecord/lib/active_record/tasks/database_tasks.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/tasks/database_tasks.rb b/activerecord/lib/active_record/tasks/database_tasks.rb
index fda51b3d76..67c7e714e6 100644
--- a/activerecord/lib/active_record/tasks/database_tasks.rb
+++ b/activerecord/lib/active_record/tasks/database_tasks.rb
@@ -1,5 +1,7 @@
module ActiveRecord
module Tasks # :nodoc:
+ class DatabaseAlreadyExists < StandardError; end # :nodoc:
+
module DatabaseTasks # :nodoc:
extend self
@@ -32,6 +34,8 @@ module ActiveRecord
def create(*arguments)
configuration = arguments.first
class_for_adapter(configuration['adapter']).new(*arguments).create
+ rescue DatabaseAlreadyExists
+ $stderr.puts "#{configuration['database']} already exists"
rescue Exception => error
$stderr.puts error, *(error.backtrace)
$stderr.puts "Couldn't create database for #{configuration.inspect}"