use sea_query::Iden;
#[derive(Iden)]
enum User {
Table,
Id,
FirstName,
LastName,
Email,
}
#[derive(Iden)]
#[iden = "user"]
enum Custom {
Table,
#[iden = "my_id"]
Id,
#[iden = "name"]
FirstName,
#[iden = "surname"]
LastName,
#[iden = "EMail"]
Email,
}
#[derive(Iden)]
enum Something {
#[iden = "something_else"]
Table,
Id,
AssetName,
UserId,
}
#[derive(Iden)]
pub struct SomeType;
#[derive(Iden)]
#[iden = "another_name"]
pub struct CustomName;
fn main() {
println!("Default field names");
assert_eq!(dbg!(Iden::to_string(&User::Table)), "user");
assert_eq!(dbg!(Iden::to_string(&User::Id)), "id");
assert_eq!(dbg!(Iden::to_string(&User::FirstName)), "first_name");
assert_eq!(dbg!(Iden::to_string(&User::LastName)), "last_name");
assert_eq!(dbg!(Iden::to_string(&User::Email)), "email");
println!("Custom field names");
assert_eq!(dbg!(Iden::to_string(&Custom::Table)), "user");
assert_eq!(dbg!(Iden::to_string(&Custom::Id)), "my_id");
assert_eq!(dbg!(Iden::to_string(&Custom::FirstName)), "name");
assert_eq!(dbg!(Iden::to_string(&Custom::LastName)), "surname");
assert_eq!(dbg!(Iden::to_string(&Custom::Email)), "EMail");
println!("Single custom field name");
assert_eq!(dbg!(Iden::to_string(&Something::Table)), "something_else");
assert_eq!(dbg!(Iden::to_string(&Something::Id)), "id");
assert_eq!(dbg!(Iden::to_string(&Something::AssetName)), "asset_name");
assert_eq!(dbg!(Iden::to_string(&Something::UserId)), "user_id");
println!("Unit structs");
assert_eq!(dbg!(Iden::to_string(&SomeType)), "some_type");
assert_eq!(dbg!(Iden::to_string(&CustomName)), "another_name");
}