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}