1
0
mirror of https://github.com/aclindsa/moneygo.git synced 2024-09-21 04:10:05 -04:00
moneygo/db.go

37 lines
1.0 KiB
Go
Raw Normal View History

2015-06-25 22:36:58 -04:00
package main
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
_ "github.com/lib/pq"
2015-06-25 22:36:58 -04:00
_ "github.com/mattn/go-sqlite3"
"gopkg.in/gorp.v1"
"log"
)
var DB *gorp.DbMap
2015-06-25 22:36:58 -04:00
func initDB(cfg *Config) {
db, err := sql.Open(cfg.MoneyGo.DBType.String(), cfg.MoneyGo.DSN)
2015-06-25 22:36:58 -04:00
if err != nil {
log.Fatal(err)
}
dbmap := &gorp.DbMap{Db: db, Dialect: gorp.SqliteDialect{}}
dbmap.AddTableWithName(User{}, "users").SetKeys(true, "UserId")
dbmap.AddTableWithName(Session{}, "sessions").SetKeys(true, "SessionId")
dbmap.AddTableWithName(Account{}, "accounts").SetKeys(true, "AccountId")
dbmap.AddTableWithName(Security{}, "securities").SetKeys(true, "SecurityId")
2015-06-25 22:36:58 -04:00
dbmap.AddTableWithName(Transaction{}, "transactions").SetKeys(true, "TransactionId")
dbmap.AddTableWithName(Split{}, "splits").SetKeys(true, "SplitId")
dbmap.AddTableWithName(Price{}, "prices").SetKeys(true, "PriceId")
dbmap.AddTableWithName(Report{}, "reports").SetKeys(true, "ReportId")
2015-06-25 22:36:58 -04:00
err = dbmap.CreateTablesIfNotExists()
if err != nil {
log.Fatal(err)
}
DB = dbmap
2015-06-25 22:36:58 -04:00
}