The fantastic ORM library for Golang, aims to be developer friendly
Go to file
Andy Bursavich 61d3a4d6ea
Fix schema initialization paths (#3825)
* Fix schema initialization paths

The initialized channel was only closed if the schema's cacheStore did not contain the embeddedCacheKey and there were no errors parsing relations.  If the key existed or an error occurred, it would not be closed. This could leave other goroutines waiting for synchronization that will never occur.

Additionally, the other code paths that wait for initialization to complete did not return the possible error.

* Unnest common schema initialization

This makes the common code path less deeply nested and the flow control easier to follow.
2020-12-04 11:28:38 +08:00
.github Fix feature request label 2020-10-19 11:49:03 +08:00
callbacks Fixed creation of associated records with composite primary keys (go-gorm#3817) (#3818) 2020-12-03 15:00:26 +08:00
clause Fix clause.IN with only one value of multiple rows 2020-11-17 19:11:24 +08:00
logger Recorder追踪函数trace在finish_api文件358行scan函数所在的371行被调用时,BeginAt 没有赋值,默认值0001-0:0:0导致追踪日志显示的sql耗时无限大. (#3657) 2020-10-22 14:09:09 +08:00
migrator Fix check field's precision 2020-11-25 14:55:53 +08:00
schema Fix schema initialization paths (#3825) 2020-12-04 11:28:38 +08:00
tests Add CreateBatchSize option 2020-12-02 14:59:50 +08:00
utils Support delete associations with Select when deleting 2020-09-10 21:46:18 +08:00
.gitignore Add clause, DB API, model definition 2020-01-29 19:22:44 +08:00
License Add MIT License file 2015-01-05 08:59:18 +08:00
README.md Add GormValuer interface support 2020-08-27 15:03:57 +08:00
association.go Fix Association.Replace() error returning (#3766) 2020-11-19 19:24:34 +08:00
callbacks.go Add detailed error information when missing table name 2020-09-29 15:43:31 +08:00
chainable_api.go Fix Select with AS, close #3581, #3567 2020-10-09 11:52:12 +08:00
errors.go Add DryRunModeUnsupported Error for Row/Rows 2020-09-18 21:35:46 +08:00
finisher_api.go Delete select clause after Count, close #3814 2020-12-02 17:27:07 +08:00
go.mod Refactor tests files 2020-06-02 10:50:38 +08:00
go.sum Add go.sum 2020-06-06 14:28:59 +08:00
gorm.go Add CreateBatchSize option 2020-12-02 14:59:50 +08:00
interfaces.go Add GormValuer interface support 2020-08-27 15:03:57 +08:00
migrator.go Use NewDB to replace WithConditions for Session 2020-11-17 16:28:37 +08:00
model.go Fix typo 2020-06-09 12:00:43 +08:00
prepare_stmt.go Fix copy lock for prepared statement, close #3642, #3607 2020-10-21 15:47:46 +08:00
scan.go fix: scan more base type and sql.NullXXX (#3813) 2020-12-02 14:00:16 +08:00
soft_delete.go Add deleted_at check when soft deleting, fix #3720 2020-11-05 11:20:08 +08:00
statement.go Change UpdatingColumn to SkipHooks 2020-11-17 17:49:43 +08:00
statement_test.go Spelling fix for "condtion" -> "condition" (#3042) 2020-06-08 11:38:51 +08:00

README.md

GORM

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

go report card test status Join the chat at https://gitter.im/jinzhu/gorm Open Collective Backer Open Collective Sponsor MIT license Go.Dev reference

Overview

  • Full-Featured ORM
  • Associations (Has One, Has Many, Belongs To, Many To Many, Polymorphism, Single-table inheritance)
  • Hooks (Before/After Create/Save/Update/Delete/Find)
  • Eager loading with Preload, Joins
  • Transactions, Nested Transactions, Save Point, RollbackTo to Saved Point
  • Context, Prepared Statment Mode, DryRun Mode
  • Batch Insert, FindInBatches, Find To Map
  • SQL Builder, Upsert, Locking, Optimizer/Index/Comment Hints, NamedArg, Search/Update/Create with SQL Expr
  • Composite Primary Key
  • Auto Migrations
  • Logger
  • Extendable, flexible plugin API: Database Resolver (Multiple Databases, Read/Write Splitting) / Prometheus…
  • Every feature comes with tests
  • Developer Friendly

Getting Started

Contributing

You can help to deliver a better GORM, check out things you can do

License

© Jinzhu, 2013~time.Now

Released under the MIT License