this post was submitted on 13 Jun 2023
14 points (100.0% liked)

Rust

6025 readers
1 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

[email protected]

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS
 

I've been finding it difficult to find good tutorials on different topics within Rust, so I've had to learn what to do the hard way. I don't want this hard-won knowledge to got waste, so I am considering making tutorials based on my experience. If you guys have any requests for a specific tutorial, let me know. I would also like to mention that this would be an in-my-free-time venture, so I'll do my best, but I still have life stuff to which I need to attend. Thanks in advance.

you are viewing a single comment's thread
view the rest of the comments
[–] aenthur 2 points 1 year ago (2 children)

Yes!

One of the things that has escaped me, is how to connect diesel to a database that already exists. It is great that it can take care of creating a database and keeping it up to date, and keeps a record of all changes so you can recreate it as needed. But how does one use diesel to access a database that already got created and is in active production? A database with a structure that diesel is not allowed to alter? With pre-existing stored procedures that perform data updates?

That would be lovely!

[–] treegardendev 1 points 1 year ago* (last edited 1 year ago)

I don't know if this is exactly what you're looking for but from the diesel docs, I believe you can init a connection using diesel::mysql, diesel::pg, and diesel::sqlite. I believe from there you can simply access an existing database, say one initialized in a container and connect to it. I dont think you would have to use the standard diesel sql scripts or migrations and could use any database with appropriate credentials from there. Sorry if I misinterpreted what you meant, however.

edit: The other option could be to go with the crates that only handle the collection and statements/queries of databases (ie: mysql crate or postgres crate). If you wanted to do something like crud operations you could use something like axum or actix for the routing and methods and have the link to the database level with those crate connections

[–] EdTheLegendary 1 points 1 year ago

I don't have experience with diesel yet, but it is on my list. I'll update you if I make a tutorial like the one you described. Thanks for the suggestion! :)