diff options
author | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2013-01-09 00:58:23 -0200 |
---|---|---|
committer | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2013-01-12 09:28:13 -0200 |
commit | 9b636dcf53e4ac410186a720d5bef783fc8648c4 (patch) | |
tree | 4eb46d9fbc6c85cdcd29028d6d6853957a910f7f /activerecord/lib/active_record/tasks/database_tasks.rb | |
parent | c1d722558ee2bd373ca4768c48b8ae944e1bdb05 (diff) | |
download | rails-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.rb | 4 |
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}" |