#[model(table_name = "contact")]
#[index("email")]
pub struct Contact {
#[primary_key]
pub id: Uuid,
pub name: String,
pub email: String,
#[foreign_key(Company)]
pub company_id: Option<Uuid>,
#[metadata]
pub metadata_id: i32,
}
#[model(table_name = "company")]
pub struct Company {
#[primary_key]
pub id: Uuid,
pub name: String,
pub website: Option<String>,
#[metadata]
pub metadata_id: i32,
}
#[model(table_name = "deal")]
pub struct Deal {
#[primary_key]
pub id: Uuid,
#[foreign_key(Contact)]
pub contact_id: Uuid,
pub title: String,
pub amount: f64,
pub stage: String, // e.g., "lead", "negotiation", "closed"
#[metadata]
pub metadata_id: i32,
}