aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorVijay Dev <vijaydev.cse@gmail.com>2011-11-18 04:21:56 -0800
committerVijay Dev <vijaydev.cse@gmail.com>2011-11-18 04:21:56 -0800
commit1c4564b6207c9b5db7a4ed46bec45561bf49a129 (patch)
treefcf3277cc32074f842ba3d4995c6f4b5a12ec35b /activerecord
parent307fc122f6b6c38204ffc6040fc8d814a8f01325 (diff)
parenta89fabbb0266e9a5a391a88fd39b97d08879412f (diff)
downloadrails-1c4564b6207c9b5db7a4ed46bec45561bf49a129.tar.gz
rails-1c4564b6207c9b5db7a4ed46bec45561bf49a129.tar.bz2
rails-1c4564b6207c9b5db7a4ed46bec45561bf49a129.zip
Merge pull request #3666 from oscardelben/databases_rake_cleanup
Cleanup of databases.rake psql env variables
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/railties/databases.rake17
1 files changed, 9 insertions, 8 deletions
diff --git a/activerecord/lib/active_record/railties/databases.rake b/activerecord/lib/active_record/railties/databases.rake
index 4ffcf6dbc1..589ed3bd11 100644
--- a/activerecord/lib/active_record/railties/databases.rake
+++ b/activerecord/lib/active_record/railties/databases.rake
@@ -377,10 +377,7 @@ db_namespace = namespace :db do
ActiveRecord::Base.establish_connection(abcs[Rails.env])
File.open("#{Rails.root}/db/structure.sql", "w:utf-8") { |f| f << ActiveRecord::Base.connection.structure_dump }
when /postgresql/
- ENV['PGHOST'] = abcs[Rails.env]['host'] if abcs[Rails.env]['host']
- ENV['PGPORT'] = abcs[Rails.env]['port'].to_s if abcs[Rails.env]['port']
- ENV['PGPASSWORD'] = abcs[Rails.env]['password'].to_s if abcs[Rails.env]['password']
- ENV['PGUSER'] = abcs[Rails.env]['username'].to_s if abcs[Rails.env]['username']
+ set_psql_env(abcs[Rails.env])
search_path = abcs[Rails.env]['schema_search_path']
unless search_path.blank?
search_path = search_path.split(",").map{|search_path_part| "--schema=#{search_path_part.strip}" }.join(" ")
@@ -418,10 +415,7 @@ db_namespace = namespace :db do
ActiveRecord::Base.connection.execute(table)
end
when /postgresql/
- ENV['PGHOST'] = abcs[env]['host'] if abcs[env]['host']
- ENV['PGPORT'] = abcs[env]['port'].to_s if abcs[env]['port']
- ENV['PGPASSWORD'] = abcs[env]['password'].to_s if abcs[env]['password']
- ENV['PGUSER'] = abcs[env]['username'].to_s if abcs[env]['username']
+ set_psql_env(abcs[env])
`psql -f "#{Rails.root}/db/structure.sql" #{abcs[env]['database']} #{abcs[env]['template']}`
when /sqlite/
dbfile = abcs[env]['database']
@@ -599,3 +593,10 @@ end
def firebird_db_string(config)
FireRuby::Database.db_string_for(config.symbolize_keys)
end
+
+def set_psql_env(config)
+ ENV['PGHOST'] = config['host'] if config['host']
+ ENV['PGPORT'] = config['port'].to_s if config['port']
+ ENV['PGPASSWORD'] = config['password'].to_s if config['password']
+ ENV['PGUSER'] = config['username'].to_s if config['username']
+end