Method: ActiveRecord::PGExtensions::PostgreSQLAdapter#alter_extension

Defined in:
lib/active_record/pg_extensions/postgresql_adapter.rb

#alter_extension(extension, schema: nil, version: nil) ⇒ Object

[View source]

55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/active_record/pg_extensions/postgresql_adapter.rb', line 55

def alter_extension(extension, schema: nil, version: nil)
  if schema && version
    raise ArgumentError, "Cannot change schema and upgrade to a particular version in a single statement"
  end

  sql = +"ALTER EXTENSION #{extension}"
  sql << " UPDATE" if version
  sql << " TO #{quote(version)}" if version && version != true
  sql << " SET SCHEMA #{schema}" if schema
  execute(sql)
  reload_type_map
  @extensions&.delete(extension.to_s)
end