gaman-macros 0.3.19

Proc-macro helpers for embedding gaman migrations into Rust applications
Documentation
use darling::{FromDeriveInput, ast};

use crate::attrs::{ForeignKeyArgs, PrimaryKeyArgs};
use crate::column::IntoTableField;

#[derive(FromDeriveInput)]
#[darling(attributes(table), supports(struct_named))]
pub(crate) struct IntoTableInput {
    pub(crate) ident: syn::Ident,
    pub(crate) data: ast::Data<darling::util::Ignored, IntoTableField>,
    #[darling(default)]
    pub(crate) name: Option<String>,
    #[darling(default)]
    pub(crate) schema: Option<String>,
    #[darling(default)]
    pub(crate) primary_key: Option<PrimaryKeyArgs>,
    #[darling(default, multiple, rename = "foreign_key")]
    pub(crate) foreign_keys: Vec<ForeignKeyArgs>,
}