Derive Macro Data

Source
#[derive(Data)]
{
    // Attributes available to this derive:
    #[geekorm]
}
Expand description

Data is the derive macro for serializing and deserializing custom column types.

use geekorm::prelude::*;

#[derive(Data, Default, Clone)]
enum Role {
    Admin,
    Moderator,
    #[geekorm(key = "UserAccounts")]
    User,
    #[default]
    Guest,
}

#[derive(Table, Default, serde::Serialize, serde::Deserialize)]
struct Users {
    #[geekorm(primary_key, auto_increment)]
    id: PrimaryKeyInteger,
    username: String,
    role: Role,
}

let geekmasher = Users::new("geekmasher", Role::Admin);


let role = Role::from("UserAccounts");