func TestToken(t *testing.T) { tokenTest := &models.Token{"token1", "writeToken", "readToken"} var o orm.Ormer = orm.NewOrm() result := []orm.ParamsList{} Convey("Check save token", t, func() { success := tokenTest.Save() So(success, ShouldEqual, nil) }) Convey("Check write token", t, func() { r, _ := o.Raw("select write_token from token where document_id = ?", tokenTest.DocumentId).ValuesList(&result) _ = r e := result[0][0] So(e, ShouldEqual, tokenTest.WriteToken) }) Convey("Check read token", t, func() { r, _ := o.Raw("select read_token from token where document_id = ?", tokenTest.DocumentId).ValuesList(&result) _ = r e := result[0][0] So(e, ShouldEqual, tokenTest.ReadToken) }) }
func NumOfRows(o orm.Ormer, sql string) (int64, error) { type tableRows struct { Rows int64 } var rows tableRows if err := o.Raw(sql).QueryRow(&rows); err != nil { return 0, err } return rows.Rows, nil }
func invalidateVerification(verification *Verification, o orm.Ormer) int { verification.Expire = 0 _, err := o.Update(verification) if err == nil { return 0 } else { beego.Warning("CheckVerifyCode, Update expire fail: ", err) return utils.ERROR_CODE_SYSTEM_ERROR } }
func (c *CSVDataFile) LoadToMySQL(o orm.Ormer) error { sql := fmt.Sprintf(`load data infile '%s' into table %s FIELDS TERMINATED BY '%s' ENCLOSED BY '"' (%s)`, c.File, c.Table, string(c.FieldsTerminatedBy), strings.Join(c.Fields, ", ")) //fmt.Println(sql) _, err := o.Raw(sql).Exec() if err != nil { c.hasImportError = true return fmt.Errorf("datafile %s: %s", c.File, err.Error()) } return nil }
func execUpdate(o orm.Ormer, sql string, params ...interface{}) error { p, err := o.Raw(sql).Prepare() if err != nil { return err } defer p.Close() _, err = p.Exec(params...) if err != nil { return err } return nil }
func RunPreImportMySQLSettings(o orm.Ormer) { const sql = `/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;` var cmds = strings.Split(sql, "\n") for _, cmd := range cmds { if _, err := o.Raw(cmd).Exec(); err != nil { fmt.Println("PreImportSettings: ", err) } } }
func Map2InsertSql(o orm.Ormer, table string, data map[string]interface{}) error { var values []interface{} var keys []string var valuesPlaceHolders []string for k, v := range data { valuesPlaceHolders = append(valuesPlaceHolders, "? ") keys = append(keys, fmt.Sprintf("`%s`", k)) values = append(values, v) // } sql := fmt.Sprintf("INSERT INTO `%s` (%s) VALUES(%s)", table, strings.Join(keys, ","), strings.Join(valuesPlaceHolders, ",")) _, err := o.Raw(sql, values...).Exec() if err != nil { return err } return nil }
func createAgent(m map[string]interface{}, o orm.Ormer, h *models.House) { photo := models.Photo{} photo.Url = m["avatar"].(string) o.Insert(&photo) agent := models.Agent{ Name: m["name"].(string), Phone: m["phone"].(string), AverageRating: float32(m["averageRating"].(float64)), NumRates: m["numRates"].(int), RecentSales: m["recentSales"].(int), House: h, Avatar: &photo, } o.Insert(&agent) }
func TestCreateDoc(t *testing.T) { var o orm.Ormer = orm.NewOrm() docNew := &models.Documents{"testid", "test_content", "D", "test@gmail"} // Only pass t into top-level Convey calls err := docNew.Save() if err == nil { fmt.Println("***************************************") } Convey("Test Create Doc in database", t, func() { var lists []orm.ParamsList num, _ := o.Raw(" select Id from documents where id = ?", "testid").ValuesList(&lists) num = num + 1 So(lists[0][0], ShouldEqual, "testid") }) }
func (this UserService) InsertWithScope(tr orm.Ormer, u *user.User) error { u.PasswordSalt = GetUserSalt() if !utils.IsEmail(u.Email) { return errors.New("invalid email") } beego.Info(setting.SystemAdminEmails) if strings.Index(setting.SystemAdminEmails, u.Email) >= 0 { u.IsSystemAccount = true beego.Info(setting.SystemAdminEmails) } if _, err := tr.Insert(u); err != nil { return err } return nil }
func insertEvent(q orm.Ormer, eve *coommonModel.Event) (res interface{}, err error) { var status int if status = 0; eve.Status == "OK" { status = 1 } sqltemplete := `INSERT INTO events ( event_caseId, step, cond, status, timestamp ) VALUES(?,?,?,?,?)` res, err = q.Raw( sqltemplete, eve.Id, eve.CurrentStep, fmt.Sprintf("%v %v %v", eve.LeftValue, eve.Operator(), eve.RightValue()), status, time.Unix(eve.EventTime, 0), ).Exec() return }
func createHouse(m map[string]interface{}, o orm.Ormer) *models.House { location := models.Location{} locationData := m["location"].([]float32) location.Latitude = locationData[0] location.Longtitude = locationData[1] o.Insert(&location) thumbnail := models.Photo{} thumbnail.Url = m["thumbnail"].(string) o.Insert(&thumbnail) house := models.House{ Address: m["address"].(string), HouseType: m["houseType"].(string), Price: m["price"].(int), Properties: m["properties"].(string), PublishFrom: m["publishFrom"].(int), Description: m["description"].(string), Location: &location, Thumbnail: &thumbnail, } o.Insert(&house) return &house }
func (this RoleService) InsertUsersWithScope(tr orm.Ormer, r *user.Role, users ...*user.User) error { _, err := tr.QueryM2M(r, "Users").Add(users) return err }
func seed(o orm.Ormer) { arr := [10]map[string]interface{}{} arr[0] = map[string]interface{}{ "address": "589 Coleridge Ave, Hanoi, Vietnam", "houseType": "House for sale", "price": 8950000, "properties": "3 bds, 3.5 ba, 4464 sqft, 0.28 ac lot, Built 1997", "publishFrom": 104, "thumbnail": "http://photos2.zillowstatic.com/p_g/ISpxm1nzj9y1xo1000000000.jpg", "location": []float32{21.009326, 105.857682}, "description": "Custom designed home on a large lot in the Old Palo Alto neighborhood. Vaulted ceilings and large windows fill the home with natural light. Clean lines and craftsman details create a bond between the shingle-style neighborhood and contemporary style. Three level home, with basement. Possibility to create a fourth bedroom on either the ground floor or at the basement level.", } arr[1] = map[string]interface{}{ "address": "1565 Webster St, Hanoi, Vietnam", "houseType": "House for sale", "price": 6950000, "properties": "3 bds, 3.5 ba, 4464 sqft, 0.28 ac lot, Built 1997", "publishFrom": 200, "thumbnail": "http://photos3.zillowstatic.com/p_g/ISxzt2p00tw62m1000000000.jpg", "location": []float32{21.009356, 105.855442}, "description": "Custom designed home on a large lot in the Old Palo Alto neighborhood. Vaulted ceilings and large windows fill the home with natural light. Clean lines and craftsman details create a bond between the shingle-style neighborhood and contemporary style. Three level home, with basement. Possibility to create a fourth bedroom on either the ground floor or at the basement level.", } arr[2] = map[string]interface{}{ "address": "1061 Alma Street, Hanoi, Vietnam", "houseType": "Make me move", "price": 550000, "properties": "3 bds, 3.5 ba, 4464 sqft, 0.28 ac lot, Built 1997", "publishFrom": 222, "thumbnail": "http://photos3.zillowstatic.com/p_g/IS5mozylseymxd1000000000.jpg", "location": []float32{21.011072, 105.842455}, "description": "Custom designed home on a large lot in the Old Palo Alto neighborhood. Vaulted ceilings and large windows fill the home with natural light. Clean lines and craftsman details create a bond between the shingle-style neighborhood and contemporary style. Three level home, with basement. Possibility to create a fourth bedroom on either the ground floor or at the basement level.", } arr[3] = map[string]interface{}{ "address": "589 Coleridge Ave, Hanoi, Vietnam", "houseType": "House for sale", "price": 1250000, "properties": "3 bds, 3.5 ba, 4464 sqft, 0.28 ac lot, Built 1997", "publishFrom": 204, "thumbnail": "http://photos2.zillowstatic.com/p_g/ISpxm1nzj9y1xo1000000000.jpg", "location": []float32{21.027816, 105.852268}, "description": "Custom designed home on a large lot in the Old Palo Alto neighborhood. Vaulted ceilings and large windows fill the home with natural light. Clean lines and craftsman details create a bond between the shingle-style neighborhood and contemporary style. Three level home, with basement. Possibility to create a fourth bedroom on either the ground floor or at the basement level.", } arr[4] = map[string]interface{}{ "address": "589 Coleridge Ave, Hanoi, Vietnam", "houseType": "House for sale", "price": 1250000, "properties": "3 bds, 3.5 ba, 4464 sqft, 0.28 ac lot, Built 1997", "publishFrom": 204, "thumbnail": "http://photos3.zillowstatic.com/p_g/ISxzt2p00tw62m1000000000.jpg", "location": []float32{21.054544, 105.820344}, "description": "Custom designed home on a large lot in the Old Palo Alto neighborhood. Vaulted ceilings and large windows fill the home with natural light. Clean lines and craftsman details create a bond between the shingle-style neighborhood and contemporary style. Three level home, with basement. Possibility to create a fourth bedroom on either the ground floor or at the basement level.", } arr[5] = map[string]interface{}{ "address": "589 Coleridge Ave, Hanoi, Vietnam", "houseType": "House for sale", "price": 1250000, "properties": "3 bds, 3.5 ba, 4464 sqft, 0.28 ac lot, Built 1997", "publishFrom": 204, "thumbnail": "http://photos3.zillowstatic.com/p_g/IS5mozylseymxd1000000000.jpg", "location": []float32{21.042675, 105.791481}, "description": "Custom designed home on a large lot in the Old Palo Alto neighborhood. Vaulted ceilings and large windows fill the home with natural light. Clean lines and craftsman details create a bond between the shingle-style neighborhood and contemporary style. Three level home, with basement. Possibility to create a fourth bedroom on either the ground floor or at the basement level.", } arr[6] = map[string]interface{}{ "address": "589 Coleridge Ave, Hanoi, Vietnam", "houseType": "House for sale", "price": 1250000, "properties": "3 bds, 3.5 ba, 4464 sqft, 0.28 ac lot, Built 1997", "publishFrom": 204, "thumbnail": "http://photos2.zillowstatic.com/p_g/ISpxm1nzj9y1xo1000000000.jpg", "location": []float32{21.028501, 105.782255}, "description": "Custom designed home on a large lot in the Old Palo Alto neighborhood. Vaulted ceilings and large windows fill the home with natural light. Clean lines and craftsman details create a bond between the shingle-style neighborhood and contemporary style. Three level home, with basement. Possibility to create a fourth bedroom on either the ground floor or at the basement level.", } arr[7] = map[string]interface{}{ "address": "589 Coleridge Ave, Hanoi, Vietnam", "houseType": "House for sale", "price": 1250000, "properties": "3 bds, 3.5 ba, 4464 sqft, 0.28 ac lot, Built 1997", "publishFrom": 204, "thumbnail": "http://photos3.zillowstatic.com/p_g/IS5mozylseymxd1000000000.jpg", "location": []float32{21.028309, 105.790856}, "description": "Custom designed home on a large lot in the Old Palo Alto neighborhood. Vaulted ceilings and large windows fill the home with natural light. Clean lines and craftsman details create a bond between the shingle-style neighborhood and contemporary style. Three level home, with basement. Possibility to create a fourth bedroom on either the ground floor or at the basement level.", } arr[8] = map[string]interface{}{ "address": "589 Coleridge Ave, Hanoi, Vietnam", "houseType": "House for sale", "price": 1250000, "properties": "3 bds, 3.5 ba, 4464 sqft, 0.28 ac lot, Built 1997", "publishFrom": 204, "thumbnail": "http://photos2.zillowstatic.com/p_g/ISpxm1nzj9y1xo1000000000.jpg", "location": []float32{21.027705, 105.811117}, "description": "Custom designed home on a large lot in the Old Palo Alto neighborhood. Vaulted ceilings and large windows fill the home with natural light. Clean lines and craftsman details create a bond between the shingle-style neighborhood and contemporary style. Three level home, with basement. Possibility to create a fourth bedroom on either the ground floor or at the basement level.", } arr[9] = map[string]interface{}{ "address": "589 Coleridge Ave, Hanoi, Vietnam", "houseType": "House for sale", "price": 1250000, "properties": "3 bds, 3.5 ba, 4464 sqft, 0.28 ac lot, Built 1997", "publishFrom": 204, "thumbnail": "http://photos3.zillowstatic.com/p_g/ISxzt2p00tw62m1000000000.jpg", "location": []float32{21.019992, 105.814706}, "description": "Custom designed home on a large lot in the Old Palo Alto neighborhood. Vaulted ceilings and large windows fill the home with natural light. Clean lines and craftsman details create a bond between the shingle-style neighborhood and contemporary style. Three level home, with basement. Possibility to create a fourth bedroom on either the ground floor or at the basement level.", } var house *models.House for i := 0; i < len(arr); i++ { temp := createHouse(arr[i], o) if i == 0 { house = temp } } thumbnail := models.Photo{} thumbnail.Url = "wtf" o.Insert(&thumbnail) photos := []string{ "http://photos1.zillowstatic.com/p_h/IS9tsmiolp6hev1000000000.jpg", "http://photos2.zillowstatic.com/p_h/IS1nqa0ihhyjev1000000000.jpg", "http://photos3.zillowstatic.com/p_h/IStgoyhbd9qmev1000000000.jpg", "http://photos1.zillowstatic.com/p_h/ISlammz491ipev1000000000.jpg", "http://photos1.zillowstatic.com/p_h/IS9hr1kevjvkkl0000000000.jpg", "http://photos1.zillowstatic.com/p_h/IS1rxujhu5v30o1000000000.jpg", "http://photos1.zillowstatic.com/p_h/ISp1utk34801pv1000000000.jpg", "http://photos3.zillowstatic.com/p_h/IShvvoa7kf49w70000000000.jpg", "http://photos2.zillowstatic.com/p_h/ISphqpbkrfi2oe0000000000.jpg", "http://photos2.zillowstatic.com/p_h/IShzafgq64f3ka0000000000.jpg", "http://photos3.zillowstatic.com/p_h/IS9t83yj2w66ka0000000000.jpg", "http://photos3.zillowstatic.com/p_h/ISx7sev6epwv2j0000000000.jpg", "http://photos2.zillowstatic.com/p_h/ISp5xaj1u5nbev1000000000.jpg", } for i := 0; i < len(photos); i++ { photo := models.Photo{Url: photos[i], House: house} o.Insert(&photo) } contactAgents := [3]map[string]interface{}{} contactAgents[0] = map[string]interface{}{ "name": "Michael Dreyfus", "phone": "(650) 644-3474", "averageRating": 4.7, "numRates": 32, "avatar": "http://photos1.zillowstatic.com/h_n/ISptj0herzprn40000000000.jpg", "recentSales": 44, } contactAgents[1] = map[string]interface{}{ "name": "Katy Thielke Straser", "phone": "(650) 941-8003", "averageRating": 4.9, "numRates": 24, "avatar": "http://photos2.zillowstatic.com/h_n/IS-1h1vglrnwo5el.jpg", "recentSales": 33, } contactAgents[2] = map[string]interface{}{ "name": "Karishma & Deepak Chandani", "phone": "(650) 941-8003", "averageRating": 4.6, "numRates": 31, "avatar": "http://photos1.zillowstatic.com/h_n/IS1fw1nb6twj6i1000000000.jpg", "recentSales": 49, } for i := 0; i < len(contactAgents); i++ { createAgent(contactAgents[i], o, house) } }