October 9th 2024
Diesel is a performant and type-safe query builder and ORM for Rust. This workshop teaches how to build performant applications using Diesel. It starts with the basics and goes all the way to advanced use-cases. After this workshop you will be well equipped to fully use Diesel’s features.*
Syllabus
-
1. Introducing Diesel
As the first step of our workshop, we will look at Diesel from a high-level point of view. You will set up a small example application together to get a working environment for the later stages of the workshop.
-
2. CRUD statements
We will explain how Diesel models Insert, Query, Update and Delete statements. You will extend our example application to perform each of these operations. As part of this step, you will see which of the offered options for each operation should be used in which use case.
-
3. Diesel-Async and when you should use it
We will discuss the differences between the regular `diesel` crate and the `diesel-async` crate. You will learn how they interact with each other, the advantages and disadvantages of each crate, and when to use one or the other.
-
4. Extending Diesel’s built-in DSL
Diesel offers many features out-of-the-box, but sooner or later you may want to use something that’s not supported by the built-in DSL. In this workshop section you will learn how to extend the DSL (domain specific language) in such cases. It will be shown how to support custom SQL types and otherwise unsupported SQL constructs.
-
5. Diesel internals
We will show how Diesel works internally. We will demonstrate how the compile time guarantees offered by Diesel are implemented to explain various restrictions in the API.
-
6. Custom Connection/Backend implementation
Finally, we will give a short overview how Diesel can be extended to support otherwise unsupported database backends or provide custom connection implementations. This includes information on when this might be a viable option.
*Attendees should be familiar with basic Rust constructs. No prior experience with Diesel is required nor assumed. Attendees should bring their own laptop, with Rust and their favourite IDE installed.
Workshop Venue
The place to learn
The EuroRust workshops will take place in WEXELERATE, located at Praterstrasse 1, 1020 Vienna, Austria.