reform
A better ORM for Go, based on non-empty interfaces and code generation
A better ORM for Go and database/sql. It uses non-empty interfaces, code generation (go generate), and initialization-time reflection as opposed to interface{}, type system sidestepping, and runtime reflection. It will be kept simple. Now you can say that last invocation is obviously invalid, and that it's not hard to make an ORM to accept both first and second versions. Make sure you are using Go 1.13+, and Go modules support is enabled. Install or update reform package, reform and reform-db...