Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sea-orm
-
Rust GraphQL APIs for NodeJS Developers: Introduction
SQL with SeaORM:
-
Hyper – A fast and correct HTTP implementation for Rust
Haven't used it myself, but https://github.com/SeaQL/sea-orm seems to be popular in some communities and async
-
New Rustacean Looking For Guidance
sea-orm
-
Having a hard time finding Actix examples that work with Seaorm.
SeaORM has an Actix example in their GitHub. https://github.com/SeaQL/sea-orm/tree/master/examples/actix_example
-
A question for all those that use Python
SeaORM or the underlying SQLx query builder for SQL handling.
-
Rust tech stack
SeaORM is the most advanced ORM currently available, but a lot of people prefer to just skip ORMing and go direct to the underlying SQLx query builder.
-
rust web dev??
If you want to do backend development, give actix-web or Axum a try. If you need templating, take a look at Maud and if you want an ORM, take a look at SeaORM.
-
Any web frameworks that could compare to Symfony?
SeaORM is the most advanced option right now (though a lot of people prefer to go direct to the underlying SQLx library) but it doesn't yet match Django ORM for offering auto-generation of draft database migrations, which is one of the things I'm unwilling to regress on. (i.e. so all I need to hand-edit is stuff like "that's a rename, not a remove+add" and so on)
-
Anyone from a Typescript/React background who tried out Rust for the 1st time?
Last I checked, authentication was weak. SeaORM is probably the most mature option if you're looking for an ORM like you'd find in another ecosystem (if you're willing to explore alternative designs, try using the underlying SQLx directly).
-
Programming block?
What I really like about it (apart from being a really nicely designed language, that is very expressive, powerful, performant and one of the safest because of the strict typing/memory management), is that you can kind of focus on just programming, without all the hassles around setting up a project, thinking about building/deploying etc. as tooling is really awesome as well (rust-analyzer, cargo, crates.io etc.). Libraries are usually high-quality and innovative (which is IMHO not so true for a lot of different other languages, including the ones you mentioned). E.g. if you want to create a web-server/API you could try something like this (my current recommendation): https://github.com/tokio-rs/axum and https://github.com/launchbadge/sqlx for good integration of typed sql in Rust or if you want something higher level: https://github.com/SeaQL/sea-orm
metrics
-
SQLx 0.7 released! Offline mode usability improvements, performance fixes and major upgrades across the board!
It's worth keeping an eye on Diesel's metrics suite (https://github.com/diesel-rs/metrics) as well; I found and fixed some suboptimal buffering that was affecting performance.
-
What's everyone working on this week (26/2023)?
See here for some numbers. The relevant code lives inside the diesel github repository. Please also keep in mind that these are just numbers and you should run those these on your own and also run tests with your actual work load.
-
Sqlx, diesel, orm or other sqlx query ?
Performance is worse than in comparable frameworks
-
What ORM do you use?
No it will likely not be less performant. See these numbers for some benchmark results for numbers. (As always with benchmarks: Please don't trust my numbers. To be sure you need to do your own benchmarks with your own use-case)
-
Trying to learn by tutorials, for cannot find a single Actix/Diesel tutorial that actually compiles
See here for some benchmark results. The benchmarks itself are in the diesel repository. Otherwise I believe there are numbers in the techempower benchmarks as well, although that includes other factors .
-
Thoughts about switching from sqlx to tokio_postgres?
I'm developing a Rust web server backend in Axum that uses Postgres and performance will be pretty important since I plan to run it on one server for as long as possible. It seems like the postgres crate is about 2x faster than sqlx, and the postgres repository seems pretty active still.
-
Ormlite: An ORM in Rust for developers that love SQL
Congratulations to the release. I know all of this is hard work. I would like to invite you to submit a ormlite implementation to the diesel benchmark collection. As soon as that's merged you will get regular reports here. The relevant code is here in the diesel repository.
-
Rails developers write some Rust: a review of Axum 0.6
In that case you may be interested in the metrics for different database libraries. diesel is doing rather well at the moment. sqlx is in the middle of a large rewrite that should improve performance, so we'll see how it compares after that
-
Using Rust as my Backend
See here for some benchmark results for the diesel repository. Please keep in mind that as always with benchmarks, these numbers are not necessarily true for your usecase. Be sure to checkout at least the benchmark code and draw your own conclusions from there.
-
SQL and Rust
The cited 7-70x factor is for sqlite, it's not that serve for other backends. I would guess for sqlite the overhead is partially caused by forcing an async interface on top of a internally sync API. See here for some numbers.
What are some alternatives?
diesel - A safe, extensible ORM and Query Builder for Rust
sqlx - 🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and SQLite.
rbatis - Rust Compile Time ORM robustness,async, pure Rust Dynamic SQL
axum - Ergonomic and modular web framework built with Tokio, Tower, and Hyper
tauri - Build smaller, faster, and more secure desktop applications with a web frontend.
sea-query - 🔱 A dynamic SQL query builder for MySQL, Postgres and SQLite
sea-schema - 🌿 SQL schema definition and discovery
yew - Rust / Wasm framework for creating reliable and efficient web applications
oso - Oso is a batteries-included framework for building authorization in your application.
ent - An entity framework for Go
actix_sqlx_mysql_user_crud - A user crud written in Rust, designed to connect to a MySQL database with full integration test coverage.