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



69
70
71
# File 'lib/database_cleaner/active_record/truncation.rb', line 69

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

#db_versionObject



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

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



73
74
75
# File 'lib/database_cleaner/active_record/truncation.rb', line 73

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