aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
diff options
context:
space:
mode:
authorOscar Del Ben <info@oscardelben.com>2011-11-17 18:49:47 +0100
committerOscar Del Ben <info@oscardelben.com>2011-11-17 18:49:47 +0100
commita89fabbb0266e9a5a391a88fd39b97d08879412f (patch)
tree73eeb472409fb4b106f7b4b07db52292413d8224 /activerecord/lib/active_record
parentd8b2b6a183020aaaacb901dd78ec2b901b119a0d (diff)
downloadrails-a89fabbb0266e9a5a391a88fd39b97d08879412f.tar.gz
rails-a89fabbb0266e9a5a391a88fd39b97d08879412f.tar.bz2
rails-a89fabbb0266e9a5a391a88fd39b97d08879412f.zip
Cleanup of databases.rake psql env variables
Diffstat (limited to 'activerecord/lib/active_record')
-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