sql_from_models_proc_macro/
lib.rs

1mod migration_generation;
2// mod getters;
3mod model;
4mod prelude;
5use migration_generation::*;
6use model::*;
7use prelude::*;
8
9#[proc_macro_derive(Model, attributes(model, primary_key, foreign_key, unique, default))]
10pub fn model(input: TokenStream) -> TokenStream {
11    let derive = parse_macro_input!(input as Model);
12
13    let migrations = generate_migration(&derive.name);
14    let template = quote! {
15        #derive
16        #migrations
17    };
18    template.into()
19}