本文整理汇总了Golang中github.com/go-gorp/gorp.DbMap.AddTableWithName方法的典型用法代码示例。如果您正苦于以下问题:Golang DbMap.AddTableWithName方法的具体用法?Golang DbMap.AddTableWithName怎么用?Golang DbMap.AddTableWithName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/go-gorp/gorp.DbMap
的用法示例。
在下文中一共展示了DbMap.AddTableWithName方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: DefineProfileTable
func DefineProfileTable(dbm *gorp.DbMap) {
t := dbm.AddTableWithName(Profile{}, "profile")
t.SetKeys(true, "id")
t.ColMap("name").
SetUnique(true).
SetNotNull(true)
}
示例2: DefineServiceTable
func DefineServiceTable(dbm *gorp.DbMap) {
t := dbm.AddTableWithName(Service{}, "service")
t.SetKeys(true, "id")
t.ColMap("name").
SetUnique(true).
SetNotNull(true)
}
示例3: DefineHostTable
func DefineHostTable(dbm *gorp.DbMap) {
t := dbm.AddTableWithName(Host{}, "host")
t.SetKeys(true, "id")
t.ColMap("name").
SetUnique(true).
SetNotNull(true)
}
示例4: NewConnection
func NewConnection(cfg Config) (*gorp.DbMap, error) {
if !strings.HasPrefix(cfg.DSN, "postgres://") {
return nil, errors.New("unrecognized database driver")
}
db, err := sql.Open("postgres", cfg.DSN)
if err != nil {
return nil, err
}
db.SetMaxIdleConns(cfg.MaxIdleConnections)
db.SetMaxOpenConns(cfg.MaxOpenConnections)
dbm := gorp.DbMap{
Db: db,
Dialect: gorp.PostgresDialect{},
}
for _, t := range tables {
tm := dbm.AddTableWithName(t.model, t.name).SetKeys(t.autoinc, t.pkey...)
for _, unique := range t.unique {
cm := tm.ColMap(unique)
if cm == nil {
return nil, fmt.Errorf("no such column: %q", unique)
}
cm.SetUnique(true)
}
}
return &dbm, nil
}
示例5: DefineVirusdefTable
func DefineVirusdefTable(dbm *gorp.DbMap) {
t := dbm.AddTableWithName(VirusDef{}, "virusdef")
t.SetKeys(true, "id")
t.ColMap("name").
SetUnique(true).
SetNotNull(true)
}
示例6: DefineCategoryTable
func DefineCategoryTable(dbm *gorp.DbMap) {
t := dbm.AddTableWithName(Category{}, "category")
t.SetKeys(true, "id")
t.ColMap("description").
SetUnique(true).
SetNotNull(true)
}
示例7: DefineUtmstatusTable
func DefineUtmstatusTable(dbm *gorp.DbMap) {
t := dbm.AddTableWithName(UtmStatus{}, "utmstatus")
t.SetKeys(true, "id")
t.ColMap("name").
SetUnique(true).
SetNotNull(true)
}
示例8: DefineUserTable
func DefineUserTable(dbm *gorp.DbMap) {
t := dbm.AddTableWithName(User{}, "user")
t.SetKeys(true, "id")
t.ColMap("name").
SetMaxSize(45).
SetUnique(true).
SetNotNull(true)
}
示例9: DefineVirusTable
func DefineVirusTable(dbm *gorp.DbMap) {
t := dbm.AddTableWithName(Virus{}, "virus")
t.SetKeys(false, "id")
SetNotNull(t, "status", "virusdef")
t.ColMap("url").
SetMaxSize(2048).
SetNotNull(true)
}
示例10: DefineLoglevelTable
func DefineLoglevelTable(dbm *gorp.DbMap) {
t := dbm.AddTableWithName(LogLevel{}, "loglevel")
t.SetKeys(true, "id")
t.ColMap("name").
SetMaxSize(15).
SetUnique(true).
SetNotNull(true)
}
示例11: DefineDeviceTable
func DefineDeviceTable(dbm *gorp.DbMap) {
t := dbm.AddTableWithName(Device{}, "device")
t.SetKeys(true, "id")
t.ColMap("name").
SetNotNull(true)
t.ColMap("serial").
SetMaxSize(16).
SetUnique(true).
SetNotNull(true)
}
示例12: DefineLogTable
func DefineLogTable(dbm *gorp.DbMap) {
t := dbm.AddTableWithName(Log{}, "log")
t.SetKeys(true, "id")
SetNotNull(t,
"file", "logtype", "device", "level", "user", "service", "date",
"policy_id", "source_if", "dest_port", "dest_if", "sent_byte",
"received_byte")
t.ColMap("source_ip").SetMaxSize(45).SetNotNull(true)
t.ColMap("dest_ip").SetMaxSize(45).SetNotNull(true)
t.ColMap("message").SetMaxSize(255)
}
示例13: DefineFileTable
func DefineFileTable(dbm *gorp.DbMap) {
t := dbm.AddTableWithName(File{}, "file")
t.SetKeys(true, "id")
t.ColMap("begin_dt").
SetUnique(true).
SetNotNull(true)
t.ColMap("end_dt").
SetNotNull(true)
t.ColMap("count_lines").
SetNotNull(true)
}
示例14: DefineLogtypeTable
func DefineLogtypeTable(dbm *gorp.DbMap) {
t := dbm.AddTableWithName(LogType{}, "logtype")
t.SetKeys(true, "id")
t.ColMap("level1").
SetMaxSize(45).
SetNotNull(true)
t.ColMap("level2").
SetMaxSize(45).
SetNotNull(true)
t.SetUniqueTogether("level1", "level2")
}
示例15: NewConnection
func NewConnection(cfg Config) (*gorp.DbMap, error) {
u, err := url.Parse(cfg.DSN)
if err != nil {
return nil, fmt.Errorf("parse DSN: %v", err)
}
var (
db *sql.DB
dialect gorp.Dialect
)
switch u.Scheme {
case "postgres":
db, err = sql.Open("postgres", cfg.DSN)
if err != nil {
return nil, err
}
db.SetMaxIdleConns(cfg.MaxIdleConnections)
db.SetMaxOpenConns(cfg.MaxOpenConnections)
dialect = gorp.PostgresDialect{}
case "sqlite3":
db, err = sql.Open("sqlite3", u.Host)
if err != nil {
return nil, err
}
if u.Host == ":memory:" {
// NOTE(ericchiang): sqlite3 coordinates concurrent clients through file locks.
// In memory databases do not support concurrent calls. Limit the number of
// open connections to 1.
//
// See: https://www.sqlite.org/faq.html#q5
db.SetMaxOpenConns(1)
}
dialect = gorp.SqliteDialect{}
default:
return nil, errors.New("unrecognized database driver")
}
dbm := gorp.DbMap{Db: db, Dialect: dialect}
for _, t := range tables {
tm := dbm.AddTableWithName(t.model, t.name).SetKeys(t.autoinc, t.pkey...)
for _, unique := range t.unique {
cm := tm.ColMap(unique)
if cm == nil {
return nil, fmt.Errorf("no such column: %q", unique)
}
cm.SetUnique(true)
}
}
return &dbm, nil
}