Method: ActiveRecord::PGExtensions::PostgreSQLAdapter#drop_extension

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

#drop_extension(*extensions, if_exists: false, cascade: false) ⇒ Object

Raises:

  • (ArgumentError)


70
71
72
73
74
75
76
77
78
79
80
# File 'lib/active_record/pg_extensions/postgresql_adapter.rb', line 70

def drop_extension(*extensions, if_exists: false, cascade: false)
  raise ArgumentError, "wrong number of arguments (given 0, expected 1+)" if extensions.empty?

  sql = +"DROP EXTENSION "
  sql << "IF EXISTS " if if_exists
  sql << extensions.join(", ")
  sql << " CASCADE" if cascade
  execute(sql)
  reload_type_map
  @extensions&.except!(*extensions.map(&:to_s))
end