CANYON-SQL
A full written in Rust
ORM for multiple databases.
Canyon-SQL
is a high level abstraction for working with multiple databases concurrently. Is build on top of the async
language features
to provide a high speed, high performant library to handling data access for consumers.
Early stage disclaimer
The library it's still on a early stage
state.
Any contrib via fork
+ PR
it's really appreciated. Currently we are involved in a really active development on the project.
Full documentation resources
There is a work-in-progress
web page, build with mdBook
containing the official documentation.
Here is where you will find all the technical documentation for Canyon-SQL
.
You can read it by clicking this link
Most important features
- Async by default. Almost every functionality provided is ready to be consumed concurrently.
- Use of multiple datasources. You can query multiple databases at the same time, even different ones!. This means that you will be able to query concurrently
a
PostgreSQL
database and anSqlServer
one in the same project. - Is macro based. With a few annotations and a configuration file, you are ready to write your data access.
- Allows migrations.
Canyon-SQL
comes with a god-mode that will manage every table on your database for you. You can modify inCanyon
code your tables internally, altering columns, setting up constraints... Also, in the future, we have plans to allow you to manipulate the whole server, like creating databases, altering configurations... everything, but in a programatically approach withCanyon
!
Supported databases
Canyon-SQL
currently has support for work with the following databases:
- PostgreSQL (via
tokio-postgres
crate) - SqlServer (via
tiberius
crate)
Every crate listed above is an async
based crate, in line with the guidelines of the Canyon-SQL
design.
There are plans for include more databases engines.