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?
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.
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.