Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gnormal/gnorm
A database-first code generator for any language
https://github.com/gnormal/gnorm
code-generation database database-schema mysql orm postgres sql
Last synced: 2 months ago
JSON representation
A database-first code generator for any language
- Host: GitHub
- URL: https://github.com/gnormal/gnorm
- Owner: gnormal
- License: other
- Created: 2017-07-22T17:53:49.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-06-14T02:00:10.000Z (over 2 years ago)
- Last Synced: 2024-09-28T15:41:52.562Z (3 months ago)
- Topics: code-generation, database, database-schema, mysql, orm, postgres, sql
- Language: JavaScript
- Homepage: https://gnorm.org
- Size: 11.5 MB
- Stars: 485
- Watchers: 11
- Forks: 40
- Open Issues: 41
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
[![Build Status](https://travis-ci.com/gnormal/gnorm.svg?branch=master)](https://travis-ci.com/gnormal/gnorm)
GNORM
GNORM is Not an ORM.
## About
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.## Documentation
[https://gnorm.org](https://gnorm.org)
## Installing
Gnorm has no dependencies, just download and run the executable for your
operating system. See our [latest release](https://github.com/gnormal/gnorm/releases/latest).## Building
__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](https://github.com/magefile/mage) 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`.## Discussion
If you have questions about Gnorm or want to hack on it, meet the devs on the
`#gnorm` channel of [gopher slack](https://gophers.slack.com/).There's also the `#gnorm-dev` channel which has github integrations showing the
work going on.## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md)