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



51
52
53
# File 'lib/database_cleaner/active_record/truncation.rb', line 51

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

.db_versionObject



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

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



55
56
57
# File 'lib/database_cleaner/active_record/truncation.rb', line 55

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