Class: DatabaseFlusher::ActiveRecord::TransactionStrategy

Inherits:
Object
  • Object
show all
Defined in:
lib/database_flusher/active_record/transaction_strategy.rb

Instance Method Summary collapse

Instance Method Details

#cleanObject



20
21
22
# File 'lib/database_flusher/active_record/transaction_strategy.rb', line 20

def clean
  stop
end

#startObject



5
6
7
8
9
10
11
# File 'lib/database_flusher/active_record/transaction_strategy.rb', line 5

def start
  # Hack to make sure that the connection is properly setup for
  # the clean code.
  ::ActiveRecord::Base.connection.transaction{ }

  ::ActiveRecord::Base.connection.begin_transaction joinable: false
end

#stopObject



13
14
15
16
17
18
# File 'lib/database_flusher/active_record/transaction_strategy.rb', line 13

def stop
  ::ActiveRecord::Base.connection_pool.connections.each do |connection|
    next unless connection.open_transactions > 0
    connection.rollback_transaction
  end
end