module Ridgepole::Rails::RestoreExtensionsOnPurge

Public Class Methods

prepended(mod) click to toggle source
# File lib/ridgepole/rails/restore_extensions_on_purge.rb, line 24
def self.prepended(mod)
  mod.extend(self)
end

Public Instance Methods

purge(configuration) click to toggle source

Restore extensions to recreated database if any

Calls superclass method
# File lib/ridgepole/rails/restore_extensions_on_purge.rb, line 11
def purge(configuration)
  establish_connection(configuration)
  saved_extensions = connection.extensions

  super

  # Re-establish connection since the last one is closed by super#purge
  establish_connection(configuration)
  saved_extensions.each do |extension|
    connection.enable_extension(extension)
  end
end