Class: ActiveRecord::ConnectionAdapters::PostgreSQLAdapter

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

Instance Method Summary collapse

Methods inherited from AbstractAdapter

#views

Instance Method Details

#cascadeObject



63
64
65
# File 'lib/database_cleaner/active_record/truncation.rb', line 63

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

#db_versionObject



56
57
58
59
60
61
# File 'lib/database_cleaner/active_record/truncation.rb', line 56

def db_version
  @db_version ||= select_values(
    "SELECT CHARACTER_VALUE
      FROM INFORMATION_SCHEMA.SQL_IMPLEMENTATION_INFO
      WHERE IMPLEMENTATION_INFO_NAME = 'DBMS VERSION' ").join.to_s
end

#delete_table(table_name) ⇒ Object



31
32
33
# File 'lib/database_cleaner/active_record/deletion.rb', line 31

def delete_table(table_name)
  execute("DELETE FROM #{quote_table_name(table_name)};")
end

#truncate_table(table_name) ⇒ Object



67
68
69
# File 'lib/database_cleaner/active_record/truncation.rb', line 67

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