gorm/doc/README.md

1.8 KiB

GORM

The fantastic ORM library for Golang, aims to be developer friendly.

wercker status GoDoc Join the chat at https://gitter.im/jinzhu/gorm

Overview

  • Full-Featured ORM (almost)
  • Chainable API
  • Auto Migrations
  • Relations (Has One, Has Many, Belongs To, Many To Many, Polymorphism)
  • Callbacks (Before/After Create/Save/Update/Delete/Find)
  • Preloading (eager loading)
  • Transactions
  • Embed Anonymous Struct
  • Soft Deletes
  • Customizable Logger
  • Iteration Support via Rows
  • Every feature comes with tests
  • Developer Friendly

Install

go get -u github.com/jinzhu/gorm

Basic Usage

type Product struct {
  gorm.Model
  Code string
  Price uint
}

var db *gorm.DB

func init() {
  var err error
  db, err = gorm.Open("sqlite", "test.db")
}

func main() {
  db.Create(&Product{Code: "L1212", Price: 1000})

  var product Product
  db.First(&product, 1) // find product with id 1
  db.First(&product, "code = ?", "L1212") // find product with code l1212

  db.Model(&product).Update("Price", 2000) // update product's price to 2000

  db.Delete(&product) // delete product
}

Author

jinzhu

Contributors

https://github.com/jinzhu/gorm/graphs/contributors

License

Released under the MIT License.