lib/departure.rb in departure-6.2.0 vs lib/departure.rb in departure-6.3.0

- old
+ new

@@ -12,58 +12,32 @@ require 'departure/logger_factory' require 'departure/configuration' require 'departure/errors' require 'departure/command' require 'departure/connection_base' +require 'departure/migration' require 'departure/railtie' if defined?(Rails) # We need the OS not to buffer the IO to see pt-osc's output while migrating $stdout.sync = true +ActiveSupport.on_load(:active_record) do + ActiveRecord::Migration.class_eval do + include Departure::Migration + end +end + module Departure class << self attr_accessor :configuration end def self.configure self.configuration ||= Configuration.new yield(configuration) end - # Hooks Percona Migrator into Rails migrations by replacing the configured - # database adapter def self.load - ActiveRecord::Migration.class_eval do - alias_method :original_migrate, :migrate - - # Replaces the current connection adapter with the PerconaAdapter and - # patches LHM, then it continues with the regular migration process. - # - # @param direction [Symbol] :up or :down - def migrate(direction) - reconnect_with_percona - include_foreigner if defined?(Foreigner) - - ::Lhm.migration = self - original_migrate(direction) - end - - # Includes the Foreigner's Mysql2Adapter implemention in - # DepartureAdapter to support foreign keys - def include_foreigner - Foreigner::Adapter.safe_include( - :DepartureAdapter, - Foreigner::ConnectionAdapters::Mysql2Adapter - ) - end - - # Make all connections in the connection pool to use PerconaAdapter - # instead of the current adapter. - def reconnect_with_percona - connection_config = ActiveRecord::Base - .connection_config.merge(adapter: 'percona') - Departure::ConnectionBase.establish_connection(connection_config) - end - end + # No-op left for compatibility end end