PlanetScale Serverless Driver for Rustâ„¢

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.

Usage

You need to add anyhow to your project when using deserializer!

Connection and simple SQL execution

```rust use planetscale_driver::PSConnection;

let conn = PSConnection::new( "", "", "", );

let res = conn.execute("SELECT 1").await.unwrap(); ```

Rows deserialization into struct

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};

[derive(Database, Debug)]

struct TestD { val: u32 }

// ...

let res = conn.execute("SELECT 1").await.unwrap(); let res: TestD = res.deserialize().unwrap();

println!("{:?}", res); ```

QueryBuilder

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(); ```

More examples in the future...