Introduction
Welcome to The Canyon's SQL book
! This is a work-in-progress user guide for the Canyon-SQL
ORM and querybuilder.
Phylosophy of design
The idea behind Canyon-SQL
it's a really simple one. Make the developer's life easier.
This is the core concept of the full development. We wanted to create an out-of-the-box solution to quickly develop any application that interacts with a database, with the simplicity in mind and hiding the ugly implementation details of handling database connections and connectors, writing repetive code every time for every entity or model (concepts just for tell that a struct should map a database entity, usually a table).
Write code that writes code
Most of the powerful concepts in Canyon.SQL
are achieved through the Rust incredible macro system.
This is the perfect definition for those macros: they write code that writes code
.
In concrete, Canyon's
most beautiful solutions are created through procedural and derive macros
,
letting the user achieve functionalities provided by the framework only needing to write attributes attached to some structs or fields.
The advantages
With this in mind, Canyon
provides you the power of develop code that needs a persistence solution just thinking
and focusing in your application design, not in the infrastructure or technical requirements, making it as scalable
as you want (or at least, as far as your business requirements let you go).
The Rust programming language
If you're new to the Rust
programming language, before getting started, it is highly recommended that you familiarize yourself with all of the concepts
outlined in the officially maintained Rust Book before you getting started with Canyon-SQL
.
Contributing to Canyon's source code or to the book documentation
We are really glad to meet new developers that push up this project to a new level, but, in order to maintain a certain order and consistency during development, assuming you want to add new functionality, modify or improve some part of the source code, or fix a bug, we would like any contributor to respect the following guidelines:
- Open an issue here explaining what do you want to change or upgrade on the source code
- Locally clone the repo and work in the source code
- Open a
PR
to a new branch, and try to documentate as much as posible the changes made in the commits to your working branch.
So, if you want to contribute to the source code:
Canyon-SQL
it's a fully open-source project. You cand find it here
If you go ahead, and want to upgrade the documentation with things that you missed that must be explained, or with some changes
that have been accepted on a PR
, and you want to document it:
- The source code for this book is this one.
License
Canyon-SQL
, and this user guide, are both licensed under the MIT license.