| I make no assumption about your level of knowledge, I simply stated that sqlx is a dependency just for completeness. I also did not imply anything about whether having such a dependency makes for faster or slower compile times than without. Anyway, my comparison was with regards to SeaORM (and/or sqlx) versus Diesel. SeaORM explicitly say they are not fully typesafe. From the docs [0]: > Using a completely static query builder can eliminate this entire class of errors. However, it requires that every parameter be defined statically and available compile-time. This is a harsh requirement, as there is always something you could not know until your program starts (environment variables) and runs (runtime configuration change). This is especially awkward if you come from a scripting language background where the type system has always been dynamic. > As such, SeaORM does not attempt to check things at compile-time. We intend to (still in development) provide runtime linting on the dynamically generated queries against the mentioned problems that you can enable in unit tests but disable in production. That is simply a deal breaker for me. I use an ORM specifically to be fully compile-time safe, so having this sort of "escape hatch" in a language that is already typesafe and sound is just going backwards. In contrast, Diesel is fully typesafe and fixes all of the issues from [0], even for dynamic queries [1]. This all being said, I have also found Prisma Client Rust [2] and Cornucopia [3] to be viable alternatives to the "big 3 (SeaORM, sqlx, Diesel)" so to speak. PCR uses Prisma to generate an ORM but is generally slower due to the overhead of running the Prisma engine, but it's ergonomic if you already use Prisma in the TypeScript world, and it's a pretty good ORM itself. I have not used Cornucopia as much but it is less of an ORM and more of a way to generate types in Rust from your SQL. There is some discussion about them on reddit, for comparison [4]. [0] https://www.sea-ql.org/SeaORM/docs/write-test/testing/#1-typ... [1] https://old.reddit.com/r/rust/comments/w54ydi/diesel_200_rc1... [2] https://github.com/Brendonovich/Prisma-Client-Rust [3] https://github.com/cornucopia-rs/cornucopia [4] https://old.reddit.com/r/rust/comments/wdos9x/cornucopia_v08... |