module Immigrate::SchemaStatements

Public Instance Methods

create_foreign_connection(foreign_server) click to toggle source
# File lib/immigrate/schema_statements.rb, line 3
def create_foreign_connection foreign_server
  database.create_fdw_extension
  database.create_server_connection foreign_server
  database.create_user_mapping foreign_server
end
create_foreign_table(foreign_table, foreign_server) { |fdw| ... } click to toggle source
# File lib/immigrate/schema_statements.rb, line 13
def create_foreign_table foreign_table, foreign_server
  fdw = create_foreign_table_definition(foreign_table, foreign_server)

  yield fdw if block_given?

  database.execute fdw.sql
end
create_foreign_table_definition(foreign_table, foreign_server) click to toggle source
# File lib/immigrate/schema_statements.rb, line 21
def create_foreign_table_definition foreign_table, foreign_server
  ForeignTableDefinition.new foreign_table, foreign_server
end
drop_foreign_connection(_foreign_server) click to toggle source
# File lib/immigrate/schema_statements.rb, line 9
def drop_foreign_connection _foreign_server
  database.drop_fdw_extension
end
drop_foreign_table(foreign_table, _foreign_server = nil) click to toggle source
# File lib/immigrate/schema_statements.rb, line 25
def drop_foreign_table foreign_table, _foreign_server = nil
  database.execute "DROP FOREIGN TABLE #{foreign_table}"
end

Private Instance Methods

database() click to toggle source
# File lib/immigrate/schema_statements.rb, line 30
def database
  Immigrate.database
end