Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Prisma | 34,028 | 442 | 8 hours ago | 4,993 | September 24, 2022 | 2,922 | apache-2.0 | TypeScript | ||
Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB | ||||||||||
Rxdb | 19,695 | 82 | 81 | 18 hours ago | 450 | July 27, 2023 | 15 | apache-2.0 | TypeScript | |
A fast, offline-first, reactive Database for JavaScript Applications https://rxdb.info/ | ||||||||||
Edgedb | 11,569 | 2 days ago | 2 | June 08, 2018 | 602 | apache-2.0 | Python | |||
A graph-relational database with declarative schema, built-in migration system, and a next-generation query language | ||||||||||
Dbal | 9,175 | 47,946 | 3,932 | 2 days ago | 120 | April 14, 2023 | 206 | mit | PHP | |
Doctrine Database Abstraction Layer | ||||||||||
Sqlboiler | 6,029 | 124 | 4 days ago | 98 | March 21, 2023 | 89 | bsd-3-clause | Go | ||
Generate a Go ORM tailored to your database schema. | ||||||||||
Goose | 4,399 | 65 | 138 | 2 days ago | 60 | July 26, 2023 | 64 | other | Go | |
A database migration tool. Supports SQL migrations and Go functions. | ||||||||||
Dbmate | 3,837 | 5 | 2 days ago | 37 | June 23, 2023 | 24 | mit | Go | ||
:rocket: A lightweight, framework-agnostic database migration tool. | ||||||||||
Scenic | 3,242 | 114 | 14 | 2 days ago | 18 | February 13, 2022 | 22 | mit | Ruby | |
Versioned database views for Rails | ||||||||||
Fluentmigrator | 2,994 | 548 | 163 | 3 days ago | 52 | January 14, 2022 | 222 | apache-2.0 | C# | |
Fluent migrations framework for .NET | ||||||||||
Schemaspy | 2,774 | 2 days ago | 3 | July 21, 2023 | 252 | lgpl-3.0 | HTML | |||
Database documentation built easy |
EdgeDB is a new kind of database
that takes the best parts of
relational databases, graph
databases, and ORMs. We call it
a graph-relational database.
Schema is the foundation of your application. It should be something you can read, write, and understand.
Forget foreign keys; tabular data modeling is a relic of an older age, and it isn't compatible with modern languages. Instead, EdgeDB thinks about schema the same way you do: as object types containing properties connected by links.
type Person {
required property name -> str;
}
type Movie {
required property title -> str;
multi link actors -> Person;
}
This example is intentionally simple, but EdgeDB supports everything you'd expect from your database: a strict type system, indexes, constraints, computed properties, stored procedures...the list goes on. Plus it gives you some shiny new features too: link properties, schema mixins, and best-in-class JSON support. Read the schema docs for details.
EdgeDB's super-powered query language EdgeQL is designed as a ground-up redesign of SQL. EdgeQL queries produce rich, structured objects, not flat lists of rows. Deeply fetching related objects is painless...bye, bye, JOINs.
select Movie {
title,
actors: {
name
}
}
filter .title = "The Matrix"
EdgeQL queries are also composable; you can use one EdgeQL query as an expression inside another. This property makes things like subqueries and nested mutations a breeze.
insert Movie {
title := "The Matrix Resurrections",
actors := (
select Person
filter .name in {
'Keanu Reeves',
'Carrie-Anne Moss',
'Laurence Fishburne'
}
)
}
There's a lot more to EdgeQL: a comprehensive standard library, computed
properties, polymorphic queries, with
blocks, transactions, and much more.
Read the EdgeQL docs for the full
picture.
While EdgeDB solves the same problems as ORM libraries, it's so much more. It's a full-fledged database with a powerful and elegant query language, a migrations system, a suite of client libraries in different languages, a command line tool, and—coming soon—a cloud hosting platform. The goal is to rethink every aspect of how developers model, migrate, manage, and query their database.
Here's a taste-test of EdgeDB's next-level developer experience: you can install our CLI, spin up an instance, and open an interactive EdgeQL shell with just three commands.
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.edgedb.com | sh
$ edgedb project init
$ edgedb
edgedb> select "Hello world!"
Windows users: use this Powershell command to install the CLI.
PS> iwr https://ps1.edgedb.com -useb | iex
To start learning about EdgeDB, check out the following resources:
PRs are always welcome! To get started, follow this guide to build EdgeDB from source on your local machine.
File an issue 👉
Start a Discussion 👉
Join the discord 👉
The code in this repository is developed and distributed under the Apache 2.0 license. See LICENSE for details.