co-orm-macros-0.2.6 has been yanked.
Rust derive macro implement Create, Read, Update, and Delete (CRUD) methods base on sqlx.
Use
adding the following to your project's Cargo.toml:
[]
= { = "0.2", = ["mysql"] }
= { = "0.7", = ["mysql","runtime-tokio-native-tls"] }
[]
= { = "1", = ["macros"] }
- features: mysql, postgres, sqlite, mssql
Examples
use ;
// rename table name
pub async
async
/// #[derive(Crud)]
/// get, get_by, qurery, query_by, update, delete, insert, insert_all.
///
/// attributes:
///
/// #[orm_pk]
/// default first field is primary key or set.
///
/// `#[orm_seq]`
/// sequence field, auto increment. insert will ignore this field.
///
/// #[orm_rename= "names"]
/// rename table name or field name.
/// default table name by struct name to_snake_case: UserDetail => user_detail.
/// default field name by field name to_snake_case: UserDetail => user_detail.
///
/// #[orm_ignore]
/// ignore field.
///
/// #[orm_update]
/// generate method update_xxx.
///
/// #[orm_by]
/// generate query_by_field,update_by_field,delete_by_field.
///
/// #[derive(FromRow)]
/// impl sqlx::FromRow trait.
///
/// if use `#[derive(FromRow)]` macro, must use `#[derive(Crud)]` macro.
///
/// if you don't want to use `#[derive(co_orm::FromRow)]` macro,
/// you can use `#[derive(sqlx::FromRow)]` macro or impl `sqlx::FromRow` trait.
///
/// if using sqlx::FromRow, ignore field use `#[orm_ignore]` add `#[sql::defult]` `#[sqlx(skip)]`.