Xorm is a simple and powerful ORM for Go.
-
Struct <-> Table Mapping Support
-
Chainable APIs
-
Transaction Support
-
Both ORM and raw SQL operation Support
-
Sync database schema Support
-
Query Cache speed up
-
Database Reverse support, See Xorm Tool README
-
Simple cascade loading support
-
Optimistic Locking support
Drivers for Go's sql package which currently support database/sql includes:
-
MyMysql: github.com/ziutek/mymysql/godrv
-
SQLite: github.com/mattn/go-sqlite3
-
Postgres: github.com/lib/pq
-
MsSql: github.com/lunny/godbc
-
v0.4.0 RC1 Changes:
- moved xorm cmd to github.com/go-xorm/cmd
- refactored general DB operation a core lib at github.com/go-xorm/core
- moved tests to github.com/go-xorm/tests github.com/go-xorm/tests
Improvements:
- Prepared statement cache
- Add Incr API
- Specify Timezone Location
-
v0.3.2 Improvements:
- Add AllCols & MustCols function
- Add TableName for custom table name
Bug Fixes:
- #46
- #51
- #53
- #89
- #86
- #92
-
v0.3.1
Features:
- Support MSSQL DB via ODBC driver (github.com/lunny/godbc);
- Composite Key, using multiple pk xorm tag
- Added Row() API as alternative to Iterate() API for traversing result set, provide similar usages to sql.Rows type
- ORM struct allowed declaration of pointer builtin type as members to allow null DB fields
- Before and After Event processors
Improvements:
- Allowed int/int32/int64/uint/uint32/uint64/string as Primary Key type
- Performance improvement for Get()/Find()/Iterate()
If you have gopm installed,
gopm get github.com/go-xorm/xorm
Or
go get github.com/go-xorm/xorm
Please visit Xorm on Google Groups
If you want to pull request, please see CONTRIBUTING
BSD License https://creativecommons.org/licenses/BSD/