this post was submitted on 13 Jun 2023
14 points (100.0% liked)
Rust
5953 readers
6 users here now
Welcome to the Rust community! This is a place to discuss about the Rust programming language.
Wormhole
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
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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!
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
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! :)