创建没有关系的实体

Create entity with no relations

我想使用 SeaOrm 创建一个没有关系的模型。本质上,一个数据库有一个 table.

这看起来应该非常简单,但文档没有涵盖这一点,而且 DeriveEntityModel 宏需要实体关系的所有样板都存在。

我想要的是:

use sea_orm::entity::prelude::*;

#[derive(Clone, Debug, PartialEq, DeriveEntityModel)]
#[sea_orm(table_name = "device")]
pub struct Model {

    #[sea_orm(primary_key)]
    pub id: i32,

    #[sea_orm(column_name = "uuid")]
    pub uuid: Uuid,

    #[sea_orm(column_name = "location")]
    pub location: Option<String>,

    #[sea_orm(column_name = "lastHeard")]
    pub lastHeard: Option<DateTime>
}

我得到的错误是:

cannot find type `Relation` in this scope

help: you might have meant to use the associated type: `Self::Relation`rustc(E0412)
the trait bound `models::device::ActiveModel: sea_orm::ActiveModelBehavior` is not satisfied

the trait `sea_orm::ActiveModelBehavior` is not implemented for `models::device::ActiveModel`

我在想一定还有另一个宏可以使用,一个不需要关系的宏,但我在文档中找不到它。

感谢您试用 SeaORM。尝试像下面这样定义一个空的 Relation 枚举。

use sea_orm::entity::prelude::*;

#[derive(Clone, Debug, PartialEq, DeriveEntityModel)]
#[sea_orm(table_name = "device")]
pub struct Model {

    #[sea_orm(primary_key)]
    pub id: i32,

    #[sea_orm(column_name = "uuid")]
    pub uuid: Uuid,

    #[sea_orm(column_name = "location")]
    pub location: Option<String>,

    #[sea_orm(column_name = "lastHeard")]
    pub lastHeard: Option<DateTime>
}

#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
pub enum Relation {}

impl ActiveModelBehavior for ActiveModel {}