Class: Apartment::Adapters::Mysql2Adapter

Inherits:
AbstractAdapter show all
Defined in:
lib/apartment/adapters/mysql2_adapter.rb

Overview

v4 MySQL adapter using database-per-tenant isolation (mysql2 driver).

Resolves tenant-specific connection configs by setting the ‘database` key to the environmentified tenant name. Lifecycle operations (create/drop) execute DDL against the default connection.

Direct Known Subclasses

TrilogyAdapter

Instance Attribute Summary

Attributes inherited from AbstractAdapter

#connection_config

Instance Method Summary collapse

Methods inherited from AbstractAdapter

#create, #default_tenant, #drop, #environmentify, #initialize, #migrate, #process_excluded_models, #process_pinned_model, #process_pinned_models, #seed, #validated_connection_config

Constructor Details

This class inherits a constructor from Apartment::Adapters::AbstractAdapter

Instance Method Details

#resolve_connection_config(tenant, base_config: nil) ⇒ Object



13
14
15
16
# File 'lib/apartment/adapters/mysql2_adapter.rb', line 13

def resolve_connection_config(tenant, base_config: nil)
  config = base_config || send(:base_config)
  config.merge('database' => environmentify(tenant))
end