我正在尝试将 Diesel crate (版本 2.0.2;rustc 1.63.0)用于应用程序,并有一些如下所示的代码:
src/models.rs
use uuid::Uuid;
use diesel::prelude::*;
use crate::schema::entities::dsl::entities;
type DB = diesel::pg::Pg;
#[derive(Queryable, PartialEq, Debug)]
#[diesel(table_name = entities)]
pub struct Entity {
pub id: u16,
pub uuid: Uuid,
pub username: Option<String>
}
impl Entity {
pub fn get_all(connection: &mut PgConnection) -> QueryResult<Vec<Entity>> {
entities.load::<Entity>(connection)
}
}
Run Code Online (Sandbox Code Playgroud)
src/schema.rs
// @generated automatically by Diesel CLI.
diesel::table! {
entities (id) {
id -> Int4,
uuid -> Uuid,
username -> Nullable<Text>,
}
}
diesel::allow_tables_to_appear_in_same_query!(
entities,
);
Run Code Online (Sandbox Code Playgroud)
但是,这不会编译。当我尝试时会抛出以下错误:
error[E0277]: the …Run Code Online (Sandbox Code Playgroud)