Class: ActiveRecord::ConnectionAdapters::PostgreSQLAdapter

Inherits:
AbstractAdapter
  • Object
show all
Defined in:
lib/database_cleaner/active_record/truncation.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.cascadeObject



45
46
47
# File 'lib/database_cleaner/active_record/truncation.rb', line 45

def self.cascade
  @cascade ||= db_version >=  "08.02" ? "CASCADE" : ""
end

.db_versionObject



38
39
40
41
42
43
# File 'lib/database_cleaner/active_record/truncation.rb', line 38

def self.db_version
  @db_version ||= ActiveRecord::Base.connection.select_values(
    "SELECT CHARACTER_VALUE 
      FROM INFORMATION_SCHEMA.SQL_IMPLEMENTATION_INFO 
      WHERE IMPLEMENTATION_INFO_NAME = 'DBMS VERSION' ").to_s
end

Instance Method Details

#truncate_table(table_name) ⇒ Object



49
50
51
# File 'lib/database_cleaner/active_record/truncation.rb', line 49

def truncate_table(table_name)
  execute("TRUNCATE TABLE #{quote_table_name(table_name)} #{self.class.cascade};")
end