GNORM is Not an ORM.
This fork is not meant to replace the original project, but is used for debugging purposes.
Right now, the recent commits to this fork deal with the compatibility issues with MySQL v8.
Gnorm converts your database's schema into in-memory data structures which you can then feed into your own templates to produce code or documentation or whatever.
Gnorm is written in Go but can be used to generate any kind of textual output - ruby, python, protobufs, html, javascript, etc.
Gnorm uses templates you control, so that you can make the output look exactly how you want it to look. It can be used to generate type-safe database queries that are faster than a traditional ORM. It can also be used to create a REST or RPC API that exposes the data in your database.
Gnorm has no dependencies, just download and run the executable for your operating system. See our latest release.
Note: Gnorm uses a go vanity url. To install with go get, run
go get gnorm.org/gnorm
However, using go get to install will mean that gnorm version
doesn't report
the correct data, and gnorm docs
won't show you the docs in your browser.
For best results, use the magefile in the root of the repo, which will do all the build-time magic. To run it, install mage, then just run mage build.
$ go get github.com/magefile/mage
$ mage build
If you want to git clone instead (which should work fine since we vendor all
dependencies), make sure you git clone into $GOPATH/src/gnorm.org/gnorm
.
If you have questions about Gnorm or want to hack on it, meet the devs on the
#gnorm
channel of gopher slack.
There's also the #gnorm-dev
channel which has github integrations showing the
work going on.
See CONTRIBUTING.md