From bf10dfda19c543db6de5b690a7ea1d7cd5359e6a Mon Sep 17 00:00:00 2001 From: Pete Deffendol Date: Tue, 22 Apr 2008 14:23:17 -0600 Subject: [PATCH] PostgreSQL: Connect to template1 database when creating or dropping db * The template1 database is always available on a PostgreSQL install * The previous behavior expected a database with the same name as the connecting user, which may not be available --- railties/lib/tasks/databases.rake | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/railties/lib/tasks/databases.rake b/railties/lib/tasks/databases.rake index e39f9ca..20fdcce 100644 --- a/railties/lib/tasks/databases.rake +++ b/railties/lib/tasks/databases.rake @@ -45,7 +45,7 @@ namespace :db do when 'postgresql' @encoding = config[:encoding] || ENV['CHARSET'] || 'utf8' begin - ActiveRecord::Base.establish_connection(config.merge('database' => nil)) + ActiveRecord::Base.establish_connection(config.merge('database' => 'template1')) ActiveRecord::Base.connection.create_database(config['database'], :encoding => @encoding) ActiveRecord::Base.establish_connection(config) rescue @@ -373,7 +373,7 @@ def drop_database(config) when /^sqlite/ FileUtils.rm(File.join(RAILS_ROOT, config['database'])) when 'postgresql' - ActiveRecord::Base.establish_connection(config.merge('database' => nil)) + ActiveRecord::Base.establish_connection(config.merge('database' => 'template1')) ActiveRecord::Base.connection.drop_database config['database'] end end -- 1.5.4.3