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?

  • Dessalines@lemmy.ml
    link
    fedilink
    arrow-up
    8
    ·
    3 years ago

    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.

    • ksynwa@lemmy.ml
      link
      fedilink
      arrow-up
      3
      ·
      3 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.

  • pingveno@lemmy.ml
    link
    fedilink
    arrow-up
    5
    ·
    3 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).