Class: GitFit::DB::Connection

Inherits:
Object
  • Object
show all
Defined in:
lib/git_fit/db/connection.rb

Instance Method Summary collapse

Constructor Details

#initialize(db_path) ⇒ Connection

Returns a new instance of Connection.



9
10
11
12
13
14
15
# File 'lib/git_fit/db/connection.rb', line 9

def initialize(db_path)
  FileUtils.mkdir_p(File.dirname(db_path)) if db_path.include?('/')
  @db = Sequel.sqlite(db_path)
  @db.run('PRAGMA journal_mode=WAL')
  @db.run('PRAGMA busy_timeout=5000')
  @migrations_path = File.expand_path('../../../db/migrations', __dir__)
end

Instance Method Details

#checkpointObject



21
22
23
# File 'lib/git_fit/db/connection.rb', line 21

def checkpoint
  @db.fetch('PRAGMA wal_checkpoint(TRUNCATE)').first
end

#dbObject



17
18
19
# File 'lib/git_fit/db/connection.rb', line 17

def db
  @db
end

#migrate!Object



25
26
27
28
# File 'lib/git_fit/db/connection.rb', line 25

def migrate!
  dedup_schema_migrations
  run_migrations
end