class Apartment::Adapters::Mysql2SchemaAdapter

Mysql2 Schemas Adapter

def connect_to_new(tenant)


Connect to new tenant
def connect_to_new(tenant)
  return reset if tenant.nil?
  Apartment.connection.execute "use `#{environmentify(tenant)}`"
rescue ActiveRecord::StatementInvalid => e
  Apartment::Tenant.reset
  raise_connect_error!(tenant, e)
end

def initialize(config)

def initialize(config)
  super
  @default_tenant = config[:database]
  reset
end

def process_excluded_model(model)

def process_excluded_model(model)
  model.constantize.tap do |klass|
    # Ensure that if a schema *was* set, we override
    table_name = klass.table_name.split('.', 2).last
    klass.table_name = "#{default_tenant}.#{table_name}"
  end
end

def reset


Reset current tenant to the default_tenant
def reset
  return unless default_tenant
  Apartment.connection.execute "use `#{default_tenant}`"
end

def reset_on_connection_exception?

def reset_on_connection_exception?
  true
end