Class: ActiveRecord::Tasks::RdbDatabaseTasks

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

Overview

:nodoc:

Instance Method Summary collapse

Constructor Details

#initialize(configuration) ⇒ RdbDatabaseTasks

Returns a new instance of RdbDatabaseTasks.



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

def initialize(configuration)
  @configuration = rdb_connection_config(configuration)
end

Instance Method Details

#createObject



10
11
12
13
14
15
16
17
# File 'lib/active_record/tasks/rdb_database_tasks.rb', line 10

def create
  rdb_database.create
  # create_db
  establish_connection configuration
rescue ::Fb::Error => e
  raise unless e.message.include?('File exists')
  raise DatabaseAlreadyExists
end

#dropObject



19
20
21
22
23
24
# File 'lib/active_record/tasks/rdb_database_tasks.rb', line 19

def drop
  establish_connection configuration
  rdb_database.drop
rescue ::Fb::Error => e
  raise ::ActiveRecord::ConnectionNotEstablished, e.message
end

#purgeObject



26
27
28
29
30
31
32
33
# File 'lib/active_record/tasks/rdb_database_tasks.rb', line 26

def purge
  begin
    drop
  rescue StandardError
    nil
  end
  create
end

#structure_dump(filename, structure_dump_flags = nil) ⇒ Object



35
36
37
# File 'lib/active_record/tasks/rdb_database_tasks.rb', line 35

def structure_dump(filename, structure_dump_flags = nil)
  isql :extract, output: filename
end

#structure_load(filename, structure_load_flags = nil) ⇒ Object



39
40
41
# File 'lib/active_record/tasks/rdb_database_tasks.rb', line 39

def structure_load(filename, structure_load_flags = nil)
  isql input: filename
end