Class: ActiveRecord::Tasks::AbstractTasks

Inherits:
Object
  • Object
show all
Defined in:
lib/active_record/tasks/abstract_tasks.rb

Overview

:nodoc:

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(db_config) ⇒ AbstractTasks

Returns a new instance of AbstractTasks.



10
11
12
13
# File 'lib/active_record/tasks/abstract_tasks.rb', line 10

def initialize(db_config)
  @db_config = db_config
  @configuration_hash = db_config.configuration_hash
end

Class Method Details

.using_database_configurations?Boolean

Returns:

  • (Boolean)


6
7
8
# File 'lib/active_record/tasks/abstract_tasks.rb', line 6

def self.using_database_configurations?
  true
end

Instance Method Details

#charsetObject



15
16
17
# File 'lib/active_record/tasks/abstract_tasks.rb', line 15

def charset
  connection.encoding
end

#check_current_protected_environment!(db_config, migration_class) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/active_record/tasks/abstract_tasks.rb', line 23

def check_current_protected_environment!(db_config, migration_class)
  with_temporary_pool(db_config, migration_class) do |pool|
    migration_context = pool.migration_context
    current = migration_context.current_environment
    stored  = migration_context.last_stored_environment

    if migration_context.protected_environment?
      raise ActiveRecord::ProtectedEnvironmentError.new(stored)
    end

    if stored && stored != current
      raise ActiveRecord::EnvironmentMismatchError.new(current: current, stored: stored)
    end
  rescue ActiveRecord::NoDatabaseError
  end
end

#collationObject



19
20
21
# File 'lib/active_record/tasks/abstract_tasks.rb', line 19

def collation
  connection.collation
end