
Never set the primary key flag as part of the column definition. When using sqlite3, this prevents mixed int/other type composite primary key (because the int column always wins and get the index for itself). Rather, let's just set the primary key at the end, whether it's composite or not. Note that the int key will automatically be AUTOINCREMENT if its type is "integer". For that reason, always use that type, rather than "bigint", as bigint maps to "integer" eventually anyway.
GORM
The fantastic ORM library for Golang, aims to be developer friendly.
Overview
- Full-Featured ORM (almost)
- Associations (Has One, Has Many, Belongs To, Many To Many, Polymorphism)
- Callbacks (Before/After Create/Save/Update/Delete/Find)
- Preloading (eager loading)
- Transactions
- Composite Primary Key
- SQL Builder
- Auto Migrations
- Logger
- Extendable, write Plugins based on GORM callbacks
- Every feature comes with tests
- Developer Friendly
Getting Started
- GORM Guides jinzhu.github.com/gorm
Upgrading To V1.0
Supporting the project
Author
jinzhu
Contributors
https://github.com/jinzhu/gorm/graphs/contributors
License
Released under the MIT License.
Languages
Go
99.9%
Shell
0.1%