module DataMapper::Adapters::SqliteAdapterMethods

Public Instance Methods

disable_referential_integrity() { || ... } click to toggle source

this is a no-op copied from activerecord i didn't find out if/how this is possible activerecord also doesn't do more here

# File lib/database_cleaner/data_mapper/truncation.rb, line 70
def disable_referential_integrity
  yield
end
storage_names(repository = :default) click to toggle source

taken from github.com/godfat/dm-mapping/tree/master

# File lib/database_cleaner/data_mapper/truncation.rb, line 49
      def storage_names(repository = :default)
        # activerecord-2.1.0/lib/active_record/connection_adapters/sqlite_adapter.rb: 177
        sql = <<-SQL
          SELECT name
          FROM sqlite_master
          WHERE type = 'table' AND NOT name = 'sqlite_sequence'
        SQL
        # activerecord-2.1.0/lib/active_record/connection_adapters/sqlite_adapter.rb: 181
        select(sql)
      end
truncate_table(table_name) click to toggle source
# File lib/database_cleaner/data_mapper/truncation.rb, line 60
def truncate_table(table_name)
  execute("DELETE FROM #{quote_name(table_name)};")
  if uses_sequence?
    execute("DELETE FROM sqlite_sequence where name = '#{table_name}';")
  end
end

Private Instance Methods

uses_sequence?() click to toggle source

Returns a boolean indicating if the SQLite database is using the sqlite_sequence table.

# File lib/database_cleaner/data_mapper/truncation.rb, line 77
      def uses_sequence?
        sql = <<-SQL
          SELECT name FROM sqlite_master
          WHERE type='table' AND name='sqlite_sequence'
        SQL
        select(sql).first
      end