class TestProf::AnyFixture::Dump::SQLite

Public Instance Methods

compile_sql(sql, binds) click to toggle source
# File lib/test_prof/any_fixture/dump/sqlite.rb, line 20
def compile_sql(sql, binds)
  sql.gsub(/\?/) { binds.shift }
end
import(path) click to toggle source
# File lib/test_prof/any_fixture/dump/sqlite.rb, line 24
def import(path)
  db = conn.pool.spec.config[:database]
  return false if %r{:memory:}.match?(db)

  # Check that sqlite3 is installed
  `sqlite3 --version`

  while_disconnected do
    `sqlite3 #{db} < "#{path}"`
  end

  true
rescue Errno::ENOENT
  false
end
reset_sequence!(table_name, start) click to toggle source
# File lib/test_prof/any_fixture/dump/sqlite.rb, line 9
        def reset_sequence!(table_name, start)
          execute <<~SQL.chomp
            DELETE FROM sqlite_sequence WHERE name=#{table_name}
          SQL

          execute <<~SQL.chomp
            INSERT INTO sqlite_sequence (name, seq)
            VALUES (#{table_name}, #{start})
          SQL
        end