Rust "version" of database-js. As stated in database-js it uses PlanetScale HTTP api for database queries. It will run perfectly run on Cloudflare Workers Or Vercel Edge Functions.
NOTE: Anyhow crate is required while using deserializer.
```rust use planetscale_driver::PSConnection;
let conn = PSConnection::new(
"
let res = conn.execute("SELECT 1").await.unwrap(); ```
As you can see, deserialization doesn't use field names (MAYBE IN FUTURE) so remember to write your structs correctly!
```rust use planetscale_driver::{Database, Deserializer};
struct TestD { val: u32 }
// ...
let res = conn.execute("SELECT 1").await.unwrap(); let res: TestD = res.deserialize().unwrap();
println!("{:?}", res); ```
If you want to bind safely values into your query, you should use QueryBuilder
```rust use planetscale_driver::QueryBuilder;
// ...
// note: values passed to .bind function must have trait ToString let id = 69; let name = "420";
let res = QueryBuilder::new("INSERT INTO test(id, name) VALUES($0, \"$1\")") .bind(id) .bind(name) .execute(&conn) .await .unwrap(); ```
If you want to run them:
bash
PS_HOST=<host> PS_USER=<username> PS_PASS=<pscale_password> cargo run --example <example_name>