当前位置: 首页>>代码示例>>Golang>>正文


Golang DbMap.AddTableWithName方法代码示例

本文整理汇总了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)
}
开发者ID:patrickpreuss,项目名称:flogviewer,代码行数:7,代码来源:profile.go

示例2: DefineServiceTable

func DefineServiceTable(dbm *gorp.DbMap) {
	t := dbm.AddTableWithName(Service{}, "service")
	t.SetKeys(true, "id")
	t.ColMap("name").
		SetUnique(true).
		SetNotNull(true)
}
开发者ID:patrickpreuss,项目名称:flogviewer,代码行数:7,代码来源:service.go

示例3: DefineHostTable

func DefineHostTable(dbm *gorp.DbMap) {
	t := dbm.AddTableWithName(Host{}, "host")
	t.SetKeys(true, "id")
	t.ColMap("name").
		SetUnique(true).
		SetNotNull(true)
}
开发者ID:patrickpreuss,项目名称:flogviewer,代码行数:7,代码来源:host.go

示例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
}
开发者ID:adrianlop,项目名称:dex,代码行数:31,代码来源:conn.go

示例5: DefineVirusdefTable

func DefineVirusdefTable(dbm *gorp.DbMap) {
	t := dbm.AddTableWithName(VirusDef{}, "virusdef")
	t.SetKeys(true, "id")
	t.ColMap("name").
		SetUnique(true).
		SetNotNull(true)
}
开发者ID:patrickpreuss,项目名称:flogviewer,代码行数:7,代码来源:virusdef.go

示例6: DefineCategoryTable

func DefineCategoryTable(dbm *gorp.DbMap) {
	t := dbm.AddTableWithName(Category{}, "category")
	t.SetKeys(true, "id")
	t.ColMap("description").
		SetUnique(true).
		SetNotNull(true)
}
开发者ID:patrickpreuss,项目名称:flogviewer,代码行数:7,代码来源:category.go

示例7: DefineUtmstatusTable

func DefineUtmstatusTable(dbm *gorp.DbMap) {
	t := dbm.AddTableWithName(UtmStatus{}, "utmstatus")
	t.SetKeys(true, "id")
	t.ColMap("name").
		SetUnique(true).
		SetNotNull(true)
}
开发者ID:patrickpreuss,项目名称:flogviewer,代码行数:7,代码来源:utmstatus.go

示例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)
}
开发者ID:patrickpreuss,项目名称:flogviewer,代码行数:8,代码来源:user.go

示例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)
}
开发者ID:patrickpreuss,项目名称:flogviewer,代码行数:8,代码来源:virus.go

示例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)
}
开发者ID:patrickpreuss,项目名称:flogviewer,代码行数:8,代码来源:loglevel.go

示例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)
}
开发者ID:patrickpreuss,项目名称:flogviewer,代码行数:10,代码来源:device.go

示例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)
}
开发者ID:patrickpreuss,项目名称:flogviewer,代码行数:11,代码来源:log.go

示例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)
}
开发者ID:patrickpreuss,项目名称:flogviewer,代码行数:11,代码来源:file.go

示例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")
}
开发者ID:patrickpreuss,项目名称:flogviewer,代码行数:11,代码来源:logtype.go

示例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
}
开发者ID:Tecsisa,项目名称:dex,代码行数:50,代码来源:conn.go


注:本文中的github.com/go-gorp/gorp.DbMap.AddTableWithName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。