r2d2
rust-mysql-simple
r2d2 | rust-mysql-simple | |
---|---|---|
1 | 3 | |
1,517 | 669 | |
- | - | |
2.5 | 6.8 | |
2 months ago | 4 months ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
r2d2
-
How to create a connection pool for MongoDB in Rust?
When you look at r2d2 (https://crates.io/crates/r2d2), it says:
rust-mysql-simple
- What would I need to use in order to interface with a database?
-
Diesel 2.0.0 RC1
We use libmysqlclient mostly for historic reasons. The mysql crate did just not exist back then when diesel started and rewriting all the internal code now is just something that we did not have the time nor motivation for. That written: Diesel is designed in such a way that connections can be provided by third party crates, even for existing backends. Diesel 2.0 adds explicit documentation for this as part of the connection trait and we are definitively interested to see pure rust implementations for the postges and mysql backend there. Also there is this discussion in the rust-mysql crate repository about a potential diesel integration. If someone is interested in working on this (or the equivalent implementation for postgresql), please reach out to us. We definitively can provide some pointers where to look for stuff and how to generally approach such an implementation. It's likely nothing that's really hard, it just requires someone to spend some work on it.
-
Reviews of the Diesel ORM, are there better alternatives?
I can understand that this can be frustrating and I know that the situation there is not ideal for diesel. There are certainly things to improve there by either providing a bundling support which builds the native library as part of the normal build process or by implementing a pure rust connection implementation. Both is possible with diesel, but requires some work. At least the pure rust connection implementation is something that can be provided by a third party crate now with upcoming diesel 2.0 release. If you are interested in that checkout this and this issue. As for the bundling support: This requires changes in the mysqlclient-sys and pq-sys crates. Again help there is welcome. In the end it makes me sad that some people have repeating decided that a solution to this problem is to write just another crate instead of helping to fix these issues. This just results in everyone have more work to do, as there are now two non-perfect solutions instead of having one slightly improved solution.
What are some alternatives?
diesel - A safe, extensible ORM and Query Builder for Rust
mysql_async - Asyncronous Rust Mysql driver based on Tokio.
redis-rs - Redis library for rust
mysql-proxy-rs - A highly scalable MySQL Proxy framework written in Rust
rust-postgres - Native PostgreSQL driver for the Rust programming language
sqlx - 🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and SQLite.
rusqlite - Ergonomic bindings to SQLite for Rust
Rust Client for KairosDB   - Rust client for KairosDB
mongo-rust-driver-prototype
tikv - Distributed transactional key-value database, originally created to complement TiDB
rust-rocksdb - rust wrapper for rocksdb
MeiliSearch - A lightning-fast search API that fits effortlessly into your apps, websites, and workflow