Derive Macro edgedb_client::Queryable [−][src]
#[derive(Queryable)]
{
// Attributes available to this derive:
#[edgedb]
}
Expand description
Derive macro to allow structs and enums be queried from the database
This derive can be used on structures with named fields (which correspond to “shapes” in EdgeDB).
#[derive(edgedb_client::Queryable)]
struct User {
first_name: String,
age: i32,
}Field attributes
JSON
The #[edgedb(json)] decodes a field using serde_json instead of EdgeDB
binary protocol. Useful if some data is stored in the database as JSON, but
you need to process it. The underlying type must implement
serde::Deserialize.
#[derive(edgedb_client::Queryable)]
struct User {
#[edgedb(json)]
user_notes: HashMap<String, String>,
}Container attributes
JSON
The #[edgedb(json)] can be used to unpack the structure from the JSON.
The underlying type must implement serde::Deserialize
#[derive(edgedb_client::Queryable, serde::Deserialize)]
#[edgedb(json)]
struct JsonData {
field1: String,
field2: u32,
}