module DatabaseCleaner::ActiveRecord::PostgreSQLAdapter

Public Instance Methods

cascade() click to toggle source
# File lib/database_cleaner/active_record/truncation.rb, line 113
def cascade
  @cascade ||= db_version >=  80200 ? 'CASCADE' : ''
end
db_version() click to toggle source
# File lib/database_cleaner/active_record/truncation.rb, line 109
def db_version
  @db_version ||= postgresql_version
end
pre_count_truncate_tables(tables, options = {:reset_ids => true}) click to toggle source
# File lib/database_cleaner/active_record/truncation.rb, line 130
def pre_count_truncate_tables(tables, options = {:reset_ids => true})
  filter = options[:reset_ids] ? method(:has_been_used?) : method(:has_rows?)
  truncate_tables(tables.select(&filter))
end
restart_identity() click to toggle source
# File lib/database_cleaner/active_record/truncation.rb, line 117
def restart_identity
  @restart_identity ||= db_version >=  80400 ? 'RESTART IDENTITY' : ''
end
truncate_table(table_name) click to toggle source
# File lib/database_cleaner/active_record/truncation.rb, line 121
def truncate_table(table_name)
  truncate_tables([table_name])
end
truncate_tables(table_names) click to toggle source
# File lib/database_cleaner/active_record/truncation.rb, line 125
def truncate_tables(table_names)
  return if table_names.nil? || table_names.empty?
  execute("TRUNCATE TABLE #{table_names.map{|name| quote_table_name(name)}.join(', ')} #{restart_identity} #{cascade};")
end