標籤:
今Apsara Infrastructure Management Framework於beego ORM示範sqlite3資料庫時,遇到了一小問題。
問題現象1:下載go-sqlite3(go get github.com/mattn/go-sqlite3)驅動時報錯說 gcc 不在 PATH 目錄裡。
問題現象2:運行匯入了go-sqlite3驅動的檔案時編譯報錯說 gcc 不在 PATH 目錄裡。
問題發生的原因:sqlitle3是個cgo庫,需要gcd編譯c代碼。
問題的解決辦法:安裝tdm-gcc或Mingw。(備忘:本人安裝的是tdm-gcc,:http://tdm-gcc.tdragon.net/download)
beego架構串連及處理sqlite3資料庫。
models/models.go
1 package models 2 3 import ( 4 "github.com/astaxie/beego/orm" 5 ) 6 7 type Student struct { 8 Id int // 主鍵 9 Name string10 Age int11 Sex string12 Score float3213 Addr string14 }15 16 func init() {17 orm.RegisterModel(new(Student))18 }
main.go
package mainimport ( "fmt" "github.com/astaxie/beego" "github.com/astaxie/beego/orm" "ormsqlite/models" _ "github.com/mattn/go-sqlite3" _ "ormsqlite/routers")func init() { orm.RegisterDriver("sqlite", orm.DR_Sqlite) orm.RegisterDataBase("default", "sqlite3", "./datas/test.db") orm.RunSyncdb("default", false, true)}func main() { o := orm.NewOrm() o.Using("default") stu := new(models.Student) stu.Name = "bei" stu.Age = 25 stu.Sex = "m" stu.Score = 88 stu.Addr = "hunan.leiyang" fmt.Println(o.Insert(stu)) beego.Run()}
查看sqlite_DB裡的資料:
beego架構之orm模組——sqlite