/database/drivers/sqlite3/sqlite3.go

https://github.com/thrasher-/gocryptotrader · Go · 29 lines · 20 code · 7 blank · 2 comment · 4 complexity · fff0b2e782f325eb39b6ff04f2a2aef2 MD5 · raw file

  1. package sqlite
  2. import (
  3. "database/sql"
  4. "path/filepath"
  5. // import sqlite3 driver
  6. _ "github.com/mattn/go-sqlite3"
  7. "github.com/thrasher-corp/gocryptotrader/database"
  8. )
  9. // Connect opens a connection to sqlite database and returns a pointer to database.DB
  10. func Connect() (*database.Instance, error) {
  11. if database.DB.Config.Database == "" {
  12. return nil, database.ErrNoDatabaseProvided
  13. }
  14. databaseFullLocation := filepath.Join(database.DB.DataPath, database.DB.Config.Database)
  15. dbConn, err := sql.Open("sqlite3", databaseFullLocation)
  16. if err != nil {
  17. return nil, err
  18. }
  19. database.DB.SQL = dbConn
  20. database.DB.SQL.SetMaxOpenConns(1)
  21. return database.DB, nil
  22. }