class Immigrate::Database
Public Instance Methods
connection()
click to toggle source
# File lib/immigrate/database.rb, line 38 def connection ActiveRecord::Base.connection end
create_fdw_extension()
click to toggle source
# File lib/immigrate/database.rb, line 3 def create_fdw_extension enable_extension :postgres_fdw end
create_server_connection(server)
click to toggle source
# File lib/immigrate/database.rb, line 11 def create_server_connection server server_config = database_configuration[Rails.env][server.to_s] execute <<-SQL CREATE SERVER #{server} FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host '#{server_config['host']}', port '#{server_config['port']}', dbname '#{server_config['dbname']}') SQL end
create_user_mapping(server)
click to toggle source
# File lib/immigrate/database.rb, line 22 def create_user_mapping server server_config = database_configuration[Rails.env][server.to_s] execute <<-SQL CREATE USER MAPPING FOR #{current_user} SERVER #{server} OPTIONS (user '#{server_config['user']}', password '#{server_config['password']}') SQL end
current_user()
click to toggle source
# File lib/immigrate/database.rb, line 32 def current_user execute("SELECT CURRENT_USER").first['current_user'] end
database_configuration()
click to toggle source
# File lib/immigrate/database.rb, line 42 def database_configuration yaml = Pathname.new('config/immigrate.yml') YAML.load(ERB.new(yaml.read).result) end
drop_fdw_extension()
click to toggle source
# File lib/immigrate/database.rb, line 7 def drop_fdw_extension disable_extension :postgres_fdw end