Simple, yet powerful entity framework for Go, that makes it easy to build and maintain applications with large data-models.
- Schema As Code - model any database schema as Go objects.
- Easily Traverse Any Graph - run queries, aggregations and traverse any graph structure easily.
- Statically Typed And Explicit API - 100% statically typed and explicit API using code generation.
- Multi Storage Driver - supports MySQL, PostgreSQL, SQLite and Gremlin.
- Extendable - simple to extend and customize using Go templates.
go get github.com/facebook/ent/cmd/ent
For proper installation using Go modules, visit entgo.io website.
The documentation for developing and using ent is available at: https://entgo.io
For discussion and support, open an issue or join our channel in the gophers Slack.
In order to contribute to ent
, see the CONTRIBUTING file for how to go get started.
If your company or your product is using ent
, please let us know by adding yourself to the ent users page.
The ent
project was inspired by Ent, an entity framework we use internally. It is developed and maintained
by a8m and alexsn
from the Facebook Connectivity team. It is used by multiple teams and projects in production,
and the roadmap for its v1 release is described here.
Read more about the motivation of the project here.
ent is licensed under Apache 2.0 as found in the LICENSE file.