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


Golang gorp.DbMap类代码示例

本文整理汇总了Golang中github.com/go-gorp/gorp.DbMap的典型用法代码示例。如果您正苦于以下问题:Golang DbMap类的具体用法?Golang DbMap怎么用?Golang DbMap使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了DbMap类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: 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

示例2: 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

示例3: getSequence

func getSequence(dbMap *gorp.DbMap) (uint64, error) {
	tx, err := dbMap.Begin()
	if err != nil {
		return 0, err
	}
	defer func() {
		if err != nil {
			tx.Rollback()
		} else {
			tx.Commit()
		}
	}()

	st, err := tx.Prepare("UPDATE seq set id = LAST_INSERT_ID(id + 1)")
	if err != nil {
		return 0, err
	}
	defer st.Close()
	st.Exec()

	stmt, err := tx.Prepare("SELECT LAST_INSERT_ID()")
	defer stmt.Close()
	var id uint64
	err = stmt.QueryRow().Scan(&id)
	if err != nil {
		return 0, err
	}
	return id, nil
}
开发者ID:hachi-eiji,项目名称:go-practice,代码行数:29,代码来源:client.go

示例4: Query

// Query generates a Query for a target model.  The target that is
// passed in must be a pointer to a struct, and will be used as a
// reference for query construction.
func Query(m *gorp.DbMap, exec gorp.SqlExecutor, target interface{}) interfaces.Query {
	// Handle non-standard dialects
	switch src := m.Dialect.(type) {
	case gorp.MySQLDialect:
		m.Dialect = dialects.MySQLDialect{src}
	case gorp.SqliteDialect:
		m.Dialect = dialects.SqliteDialect{src}
	default:
	}
	plan := &QueryPlan{
		dbMap:    m,
		executor: exec,
	}

	targetVal := reflect.ValueOf(target)
	if targetVal.Kind() != reflect.Ptr || targetVal.Elem().Kind() != reflect.Struct {
		plan.Errors = append(plan.Errors, errors.New("A query target must be a pointer to struct"))
	}
	targetTable, err := plan.mapTable(targetVal)
	if err != nil {
		plan.Errors = append(plan.Errors, err)
		return plan
	}
	plan.target = targetVal
	plan.table = targetTable
	return plan
}
开发者ID:vishnuchilamakuru,项目名称:gorq,代码行数:30,代码来源:mapping.go

示例5: 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

示例6: 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

示例7: 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

示例8: InitAllTables

func InitAllTables(dbm *gorp.DbMap) error {
	defineAllTables(dbm)
	if err := dbm.CreateTablesIfNotExists(); err != nil {
		return err
	}

	txn, err := dbm.Begin()
	if err != nil {
		return err
	}
	defer txn.Rollback()

	count, err := CountRows("loglevel", "id", txn)
	if err != nil {
		return err
	}
	if count == 0 {
		InitLoglevelTable(txn)
	}

	count, err = CountRows("utmstatus", "id", txn)
	if err != nil {
		return err
	}
	if count == 0 {
		InitUtmstatusTable(txn)
	}

	txn.Commit()
	return nil
}
开发者ID:patrickpreuss,项目名称:flogviewer,代码行数:31,代码来源:models.go

示例9: 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

示例10: get

func (s SqlChannelStore) get(id string, master bool) StoreChannel {
	storeChannel := make(StoreChannel)

	go func() {
		result := StoreResult{}

		var db *gorp.DbMap
		if master {
			db = s.GetMaster()
		} else {
			db = s.GetReplica()
		}

		if obj, err := db.Get(model.Channel{}, id); err != nil {
			result.Err = model.NewAppError("SqlChannelStore.Get", "We encountered an error finding the channel", "id="+id+", "+err.Error())
		} else if obj == nil {
			result.Err = model.NewAppError("SqlChannelStore.Get", "We couldn't find the existing channel", "id="+id)
		} else {
			result.Data = obj.(*model.Channel)
		}

		storeChannel <- result
		close(storeChannel)
	}()

	return storeChannel
}
开发者ID:mf1389004071,项目名称:platform,代码行数:27,代码来源:sql_channel_store.go

示例11: 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

示例12: SelectAllEquipmentInfo

func SelectAllEquipmentInfo(dbm *gorp.DbMap) ([]EquipmentInfo, error) {
	var results []EquipmentInfo

	q := sq.Select(
		`"EquipmentInfo"."ID"`,
		`"EquipmentInfo"."CertifiedName"`,
		`"RadioAccessTechnology"."Description" AS EquipmentType`,
		`"EquipmentInfo"."Model"`,
		`"EquipmentInfo"."AuthNumber"`,
		`"EquipmentInfo"."RadioType"`,
		`"EquipmentInfo"."IsApplied1421"`,
		`"EquipmentInfo"."AuthDate"`,
		`"EquipmentInfo"."Note"`,
		`"EquipmentInfo"."File"`,
	).From(
		"EquipmentInfo",
	).LeftJoin(
		`"RadioAccessTechnology" ON "EquipmentInfo"."EquipmentType" = "RadioAccessTechnology"."EquipmentType"`,
	)

	sql, _, err := q.ToSql()
	if err != nil {
		return results, err
	}

	if _, err := dbm.Select(&results, sql); err != nil {
		return nil, err
	}

	return results, nil
}
开发者ID:daisuzu,项目名称:giteki,代码行数:31,代码来源:models.go

示例13: runQueryPlanSuite

func runQueryPlanSuite(t *testing.T, dialect gorp.Dialect, connection *sql.DB) {
	dbMap := new(gorp.DbMap)
	dbMap.Dialect = dialect
	dbMap.Db = connection
	testSuite := new(QueryPlanTestSuite)
	testSuite.Map = dbMap
	suite.Run(t, testSuite)
}
开发者ID:vishnuchilamakuru,项目名称:gorq,代码行数:8,代码来源:query_plans_test.go

示例14: 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

示例15: 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


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