Class: ActiveRecord::ConnectionAdapters::PostgreSQLAdapter
- Inherits:
-
AbstractAdapter
- Object
- AbstractAdapter
- ActiveRecord::ConnectionAdapters::PostgreSQLAdapter
- Defined in:
- lib/database_cleaner/active_record/deletion.rb,
lib/database_cleaner/active_record/truncation.rb
Instance Method Summary collapse
- #cascade ⇒ Object
- #db_version ⇒ Object
- #delete_table(table_name) ⇒ Object
- #truncate_table(table_name) ⇒ Object
Methods inherited from AbstractAdapter
Instance Method Details
#cascade ⇒ Object
69 70 71 |
# File 'lib/database_cleaner/active_record/truncation.rb', line 69 def cascade @cascade ||= db_version >= "08.02" ? "CASCADE" : "" end |
#db_version ⇒ Object
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 |