Permalink
Browse files

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

Signed-off-by: Michael Koziarski <michael@koziarski.com>

[#38 state:resolved]
  • Loading branch information...
1 parent 96980bd commit 205750c8dead2449a23173fab0720b7701231d2a @pdeffendol pdeffendol committed with NZKoz Apr 22, 2008
Showing with 2 additions and 2 deletions.
  1. +2 −2 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

0 comments on commit 205750c

Please sign in to comment.