У меня есть таблица с именами инструментов со следующими полями:
id
, instrument_token
(целое число) tradingsymbol
(обнуляемый) строковое поле)
Я определил структуру Rust следующим образом:
pub struct Instrument {
pub id: i64,
pub instrument_token: i32,
pub tradingsymbol: Option<String>,
}
Я запрашиваю и создаю Vec<Instrument>
внутри функции следующим образом, используя SQLX
let records = sqlx::query!(r"select * from instruments").fetch_all(&app_context.db_connection).await?;
let mut all_instruments: Vec<Instrument> = Vec::new();
for rec in records {
all_instruments.push(Instrument {
id: rec.id,
instrument_token: rec.instrument_token,
tradingsymbol: rec.tradingsymbol,
});
}
Здесь &app_context.db_connection
- это &pool
экземпляр.
Это лучший способ загрузки записей в структуру с использованием SQLX. Если да, то как?