12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package db
- import (
- "errors"
- "sync"
- "github.com/jinzhu/gorm"
- _ "github.com/lib/pq"
- _ "github.com/mattn/go-sqlite3"
- )
- const (
- SQLITE_DRIVER = "sqlite3"
- POSTGRES_DRIVER = "postgres"
- )
- type DB struct {
- orm *gorm.DB
- mutex *sync.Mutex
- driver string
- }
- // databe driver name
- //support databes 'sqlite3','postgres'
- func Open(driver string, args ...interface{}) (*DB, error) {
- if driver == "" {
- return nil, errors.New("Invalid driver name.")
- }
- d, err := gorm.Open(driver, args)
- if err != nil {
- return nil, err
- }
- return &DB{orm: d, mutex: &sync.Mutex{}, driver: driver}, nil
- }
- func (db DB) isSqlite() bool {
- if db.driver == SQLITE_DRIVER {
- return true
- }
- return false
- }
- func (db DB) isPostgres() bool {
- if db.driver == POSTGRES_DRIVER {
- return true
- }
- return false
- }
|