123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package storage
- import (
- "database/sql"
- "flag"
- _ "github.com/go-sql-driver/mysql"
- )
- type Storage struct {
- DB *sql.DB
- DSN string
- }
- var Service Storage = Storage{}
- func (s *Storage) Open() error {
- var err error
- s.DB, err = sql.Open("mysql", s.DSN)
- if err == nil {
- err = s.DB.Ping()
- }
- return err
- }
- func (s *Storage) Close() {
- if s.DB != nil {
- s.DB.Close()
- }
- s.DB = nil
- }
- func (s *Storage) SetDSN(dsn string) {
- s.DSN = dsn
- }
- func init() {
- var dsn = flag.String("dsn", "root:@tcp(localhost:3306)/go_kurz", "some_user:some_pass@tcp(some_host:some_port)/some_db")
- flag.Parse()
- Service.SetDSN(*dsn)
- }
|