- Performance Improvements
- Modularity
- Context, Batch Insert, Prepared Statement Mode, DryRun Mode, Join Preload, Find To Map, Create From Map, FindInBatches supports
- Nested Transaction/SavePoint/RollbackTo SavePoint supports
- Named Argument, Group Conditions, Upsert, Locking, Optimizer/Index/Comment Hints supports, SubQuery improvements
- Multiple fields support for tracking create/update time, which adds support for UNIX (milli/nano) seconds
- Field permissions support: read-only, write-only, create-only, update-only, ignored
- New plugin system: multiple databases, read/write splitting support with plugin Database Resolver, prometheus integrations…
- New Hooks API: unified interface with plugins
- New Migrator: allows to create database foreign keys for relationships, constraints/checker support, enhanced index support
- New Logger: context support, improved extensibility
- Better customized data type support (e.g: JSON)
v1.0 - 2016.04
- returns
*gorm.DB
instead ofgorm.DB
- Updating will only update changed fields
- Soft Delete’s will only check
deleted_at IS NULL
- New ToDBName logic
Common initialisms from likeHTTP
,URI
was converted to lowercase, so ‘s db name ishttp
, but noth_t_t_p
, but for some other initialisms not in the list, likeSKU
, it’s db name wass_k_u
, this change fixed it tosku
- Error has been renamed to
ErrRecordNotFound
Hstore
has been moved to packagegithub.com/jinzhu/gorm/dialects/postgres