this post was submitted on 30 Mar 2022
7 points (100.0% liked)

Rust Programming

8438 readers
25 users here now

founded 5 years ago
MODERATORS
 

I'm wondering if I should use Diesel in my project. I feel more comfortable writing SQL directly because I've used it before, but I've never done a database migration, I always deleted the database when I had to change it. So I don't know if I should learn Diesel to get migrations automatically or learn to do them directly in SQL. What would you recommend?

top 3 comments
sorted by: hot top controversial new old
[–] [email protected] 8 points 2 years ago (1 children)

I highly recommend it. No matter what you do, you will need to do database migrations, and diesel makes that incredibly easy.

Even for db's with just a few tables, diesel gives you compile time checking, something almost no other ORM supports.

[–] [email protected] 3 points 2 years ago

At work, our postgres schema is defined in an *.sql file and whenever we update it, we generate a migration sql script using a tool (that looks like it is not being maintained anymore) called tusker. All our queries are handwritten. It is a nightmare.

[–] [email protected] 5 points 2 years ago

If you're just doing static queries against one database, sqlx will probably be your best friend. You can easily access the raw power of the database using a simple async API. Diesel starts to get more powerful when you change your queries based on something like parameters to a web API. You can do that yourself, but you'll be reinventing the wheel (and probably adding in vulnerabilities).