| Crates.io | taitan-orm-trait |
| lib.rs | taitan-orm-trait |
| version | 0.1.12 |
| created_at | 2025-01-01 06:57:22.629314+00 |
| updated_at | 2025-05-07 08:04:46.874197+00 |
| description | Next Generation ORM based on sqlx |
| homepage | https://github.com/thegenius/taitan-orm |
| repository | |
| max_upload_size | |
| id | 1500636 |
| size | 296,547 |
作为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 {
}