Skip to content

Instantly share code, notes, and snippets.

@slene
Last active December 22, 2015 10:48
Show Gist options
  • Save slene/6461110 to your computer and use it in GitHub Desktop.
Save slene/6461110 to your computer and use it in GitHub Desktop.
http://beego.me/docs/Models_Overview simple usage in postgres
package main
import (
"fmt"
"github.com/astaxie/beego/orm"
_ "github.com/lib/pq"
)
// Model Struct
type User struct {
Id int
Name string `orm:"size(100)"`
}
func init() {
// register model
orm.RegisterModelWithPrefix("test_", new(User))
orm.RegisterDriver("postgres", orm.DR_Postgres)
// set default database
orm.RegisterDataBase("default", "postgres", "db=orm_test sslmode=disable", 30)
orm.RunCommand()
}
func main() {
o := orm.NewOrm()
user := User{Name: "slene"}
// insert
id, err := o.Insert(&user)
fmt.Printf("ID: %d, ERR: %v\n", id, err)
// update
user.Name = "astaxie"
num, err := o.Update(&user)
fmt.Printf("NUM: %d, ERR: %v\n", num, err)
// read one
u := User{Id: user.Id}
err = o.Read(&u)
fmt.Printf("ERR: %v\n", err)
// delete
num, err = o.Delete(&u)
fmt.Printf("NUM: %d, ERR: %v\n", num, err)
}
$ go build example.go
$ ./example orm syncdb -force -v
drop table `test_user`
DROP TABLE IF EXISTS "test_user"
create table `test_user`
-- --------------------------------------------------
-- Table Structure for `main.User`
-- --------------------------------------------------
CREATE TABLE IF NOT EXISTS "test_user" (
"id" serial NOT NULL PRIMARY KEY,
"name" varchar(100) NOT NULL
);
$ ./example
ID: 1, ERR: <nil>
NUM: 1, ERR: <nil>
ERR: <nil>
NUM: 1, ERR: <nil>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment