#[derive(FromDummy)]
Expand description
Derive FromDummy to create a new *Dummy
struct.
This *Dummy
struct can then be used with [Query::into_vec] or [Transaction::query_one].
Usage can also be nested.
Example:
#[rust_query::migration::schema]
pub enum Schema {
Thing {
details: Details,
beta: f64,
seconds: i64,
},
Details {
name: String
},
}
use v0::*;
use rust_query::{Table, FromDummy, Transaction};
#[derive(FromDummy)]
struct MyData {
seconds: i64,
is_it_real: bool,
name: String,
other: OtherData
}
#[derive(FromDummy)]
struct OtherData {
alpha: f64,
beta: f64,
}
pub fn do_query(db: &Transaction<Schema>) -> Vec<MyData> {
db.query(|rows| {
let thing = Thing::join(rows);
rows.into_vec(MyDataDummy {
seconds: thing.seconds(),
is_it_real: true,
name: thing.details().name(),
other: OtherDataDummy {
alpha: 0.5,
beta: thing.beta(),
},
})
})
}