Class: Departure::RailsAdapter::V8_1_Adapter

Inherits:
BaseAdapter
  • Object
show all
Defined in:
lib/departure/rails_adapter.rb

Overview

rubocop:disable Naming/ClassAndModuleCamelCase

Class Method Summary collapse

Class Method Details

.create_connection_adapter(**config) ⇒ Object



143
144
145
# File 'lib/departure/rails_adapter.rb', line 143

def create_connection_adapter(**config)
  ActiveRecord::ConnectionAdapters::Rails81DepartureAdapter.new(config)
end

.new_sql_column(name:, cast_type:, default_value:, mysql_metadata:, null_value:, **_kwargs) ⇒ Object

rubocop:disable Metrics/ParameterLists github.com/rails/rails/commit/9ad36e067222478090b36a985090475bb03e398c#diff-de807ece2205a84c0e3de66b0e5ab831325d567893b8b88ce0d6e9d498f923d1 Rails Column arity changed to require cast_type in position 2 which required us introducing this indirection



150
151
152
153
154
155
156
157
158
# File 'lib/departure/rails_adapter.rb', line 150

def new_sql_column(name:,
                   cast_type:,
                   default_value:,
                   mysql_metadata:,
                   null_value:,
                   **_kwargs)
  # rubocop:enable Metrics/ParameterLists
  sql_column.new(name, cast_type, default_value, , null_value)
end

.register_integrationsObject



126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# File 'lib/departure/rails_adapter.rb', line 126

def register_integrations
  require 'active_record/connection_adapters/rails_8_1_departure_adapter'
  require 'departure/rails_patches/active_record_migrator_with_advisory_lock_patch'

  ActiveSupport.on_load(:active_record) do
    ActiveRecord::Migration.class_eval do
      include Departure::Migration
    end

    ActiveRecord::Migrator.prepend Departure::RailsPatches::ActiveRecordMigratorWithAdvisoryLockPatch
  end

  ActiveRecord::ConnectionAdapters.register 'percona',
                                            'ActiveRecord::ConnectionAdapters::Rails81DepartureAdapter',
                                            'active_record/connection_adapters/rails_8_1_departure_adapter'
end

.sql_columnObject



160
161
162
# File 'lib/departure/rails_adapter.rb', line 160

def sql_column
  ::ActiveRecord::ConnectionAdapters::MySQL::Column
end