1、MVC的models
package models
import (
"github.com/astaxie/beego/orm"
_ "github.com/go-sql-driver/mysql"
"github.com/astaxie/beego"
_ "github.com/ziutek/mymysql/godrv"
)
//
type IndoorArc struct {
Id int64 `orm:"column(id)"`
AreaId int64 `orm:"column(area_id)"`
Geometry string `orm:"column(geometry)"`
Direction int64 `orm:"column(direction)"`
NeighborCount int64 `orm:"column(neighbor_count)"`
Neighbors string `orm:"column(neighbors)"`
}
func (tb *IndoorArc) TableName() string {
return beego.AppConfig.String("tb.arc")
}
type IndoorArea struct {
Id int64 `orm:"column(id)"`
BuildingId int64 `orm:"column(building_id)"`
Floor int64 `orm:"column(floor)"`
Bounds string `orm:"column(bounds)"`
Type int64 `orm:"column(type)"`
NeighborCount int64 `orm:"column(neighbor_count)"`
Neighbors string `orm:"column(neighbors)"`
Height float64 `orm:"column(height)"`
}
func (tb *IndoorArea) TableName() string {
return beego.AppConfig.String("tb.area")
}
type AreaIntersection struct {
Id int64 `orm:"column(id)"`
Area1Id int64 `orm:"column(area1_id)"`
Area2Id int64 `orm:"column(area2_id)"`
Type int64 `orm:"column(type)"`
Longitude float64 `orm:"column(longitude)"`
Latitude float64 `orm:"column(latitude)"`
Altitude float64 `orm:"column(altitude)"`
}
func (tb *AreaIntersection) TableName() string {
return beego.AppConfig.String("tb.intersection")
}
type MetaData struct {
Name string `orm:"column(name);pk"`
Data string `orm:"column(data)"`
}
func (tb *MetaData) TableName() string {
return "metadata"
}
/*******************************************************************************
* 函数名称:init
* 功能描述:初始化数据库
* 输入参数:
* 返 回 值:
* 其它说明:
* 修改日期 版本号 修改人 修改内容
* ------------------------------------------------
*
*******************************************************************************/
func init() {
fmt.Println("MySQL init")
dbUser := beego.AppConfig.String("db.User")
dbPwd := beego.AppConfig.String("db.Pwd")
dbHost := beego.AppConfig.String("db.Host")
dbPort := beego.AppConfig.String("db.Port")
dbName := beego.AppConfig.String("db.Name")
conn := dbUser + ":" + dbPwd + "@tcp(" + dbHost + ":" + dbPort + ")/" + dbName + "?charset=utf8"
fmt.Println(conn)
// set default database
orm.RegisterDataBase("default", "mysql", conn, 30)
// wyd
orm.RegisterModel(new(gridUtil.ModelInfo))
orm.RegisterModel(new(gridUtil.GridInfo))
orm.RegisterModel(new(IndoorArea))
orm.RegisterModel(new(IndoorArc))
orm.RegisterModel(new(AreaIntersection))
orm.RegisterModel(new(MetaData))
//orm.RegisterModel(new(gridUtil.NaviPoint))
// create table
orm.RunSyncdb("default", false, true)
}