Class: Departure::RailsAdapter::BaseAdapter
- Inherits:
-
Object
- Object
- Departure::RailsAdapter::BaseAdapter
show all
- Defined in:
- lib/departure/rails_adapter.rb
Class Method Summary
collapse
Class Method Details
.create_connection_adapter(**config) ⇒ Object
ActiveRecord::ConnectionAdapters::Mysql2Adapter
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
# File 'lib/departure/rails_adapter.rb', line 55
def create_connection_adapter(**config)
mysql2_adapter = ActiveRecord::Base.mysql2_connection(config)
connection_details = Departure::ConnectionDetails.new(config)
verbose = ActiveRecord::Migration.verbose
sanitizers = [
Departure::LogSanitizers::PasswordSanitizer.new(connection_details)
]
percona_logger = Departure::LoggerFactory.build(sanitizers: sanitizers, verbose: verbose)
cli_generator = Departure::CliGenerator.new(connection_details)
runner = Departure::Runner.new(
percona_logger,
cli_generator,
mysql2_adapter
)
connection_options = { mysql_adapter: mysql2_adapter }
ActiveRecord::ConnectionAdapters::DepartureAdapter.new(
runner,
percona_logger,
connection_options,
config
)
end
|
.register_integrations ⇒ Object
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/departure/rails_adapter.rb', line 38
def register_integrations
require 'active_record/connection_adapters/percona_adapter'
ActiveSupport.on_load(:active_record) do
ActiveRecord::Migration.class_eval do
include Departure::Migration
end
if ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR == 1
require 'departure/rails_patches/active_record_migrator_with_advisory_lock_patch'
ActiveRecord::Migrator.prepend Departure::RailsPatches::ActiveRecordMigratorWithAdvisoryLockPatch
end
end
end
|
.sql_column ⇒ Object
82
83
84
|
# File 'lib/departure/rails_adapter.rb', line 82
def sql_column
::ActiveRecord::ConnectionAdapters::DepartureAdapter::Column
end
|