Method: ActiveRecord::PGExtensions::PostgreSQLAdapter#create_extension

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

#create_extension(extension, if_not_exists: false, schema: nil, version: nil, cascade: false) ⇒ Object

[View source]

42
43
44
45
46
47
48
49
50
51
52
# File 'lib/active_record/pg_extensions/postgresql_adapter.rb', line 42

def create_extension(extension, if_not_exists: false, schema: nil, version: nil, cascade: false)
  sql = +"CREATE EXTENSION "
  sql <<= "IF NOT EXISTS " if if_not_exists
  sql << extension.to_s
  sql << " SCHEMA #{schema}" if schema
  sql << " VERSION #{quote(version)}" if version
  sql << " CASCADE" if cascade
  execute(sql)
  reload_type_map
  @extensions&.delete(extension.to_s)
end