taitan-orm-trait

Crates.iotaitan-orm-trait
lib.rstaitan-orm-trait
version0.1.12
created_at2025-01-01 06:57:22.629314+00
updated_at2025-05-07 08:04:46.874197+00
descriptionNext Generation ORM based on sqlx
homepagehttps://github.com/thegenius/taitan-orm
repository
max_upload_size
id1500636
size296,547
Wang Wei (thegenius)

documentation

README

作为Input的trait Entity特征用于insert操作

pub trait Entity<DB: Database> {
    // sql generation
    fn gen_insert_sql<'a>(&self)-> Cow<'a, str>;
    fn gen_upsert_sql<'a>(&self)-> Cow<'a, str>;
    fn gen_create_sql<'a>(&self)-> Cow<'a, str>;
    
    // sqlx arguments generation, create is same as insert
    fn add_insert_args(&self, args: &mut DB::Arguments<'_>);
    fn add_upsert_args(&self, args: &mut DB::Arguments<'_>);
    
    fn gen_insert_args(&self) -> DB::Arguments<'_>;
    fn gen_upsert_args(&self) -> DB::Arguments<'_>;
}

Mutation特征用于update操作

trait Mutation {
    fn update_sql();
    fn update_args();
}



trait Location {
    fn where_sql();
    fn where_args();
}
trait Unique {
    fn where_sql();
    fn where_args();
}
trait TemplateRecord {
    fn template_sql();
    fn template_args();
}

作为output的trait

trait Selected {}
trait Location {
    
}
Commit count: 0

cargo fmt