default_value and default_expr hypotetical implementation
This commit is contained in:
parent
5179fb257a
commit
0eb6902d1b
@ -47,10 +47,11 @@ impl sea_orm::prelude::EntityName for Entity {
|
|||||||
|
|
||||||
let mut nullable = false;
|
let mut nullable = false;
|
||||||
let mut default_value = None;
|
let mut default_value = None;
|
||||||
|
let mut default_expr = None;
|
||||||
let mut indexed = false;
|
let mut indexed = false;
|
||||||
let mut unique = false;
|
let mut unique = false;
|
||||||
let mut sql_type = None;
|
let mut sql_type = None;
|
||||||
// search for #[sea_orm(primary_key, column_type = "String", nullable, default_value = "something", indexed, unique)]
|
// search for #[sea_orm(primary_key, column_type = "String", default_value = "new user", default_expr = "gen_random_uuid()", nullable, indexed, unique)]
|
||||||
field.attrs.iter().for_each(|attr| {
|
field.attrs.iter().for_each(|attr| {
|
||||||
if let Some(ident) = attr.path.get_ident() {
|
if let Some(ident) = attr.path.get_ident() {
|
||||||
if ident != "sea_orm" {
|
if ident != "sea_orm" {
|
||||||
@ -76,6 +77,9 @@ impl sea_orm::prelude::EntityName for Entity {
|
|||||||
else if name == "default_value" {
|
else if name == "default_value" {
|
||||||
default_value = Some(nv.lit.to_owned());
|
default_value = Some(nv.lit.to_owned());
|
||||||
}
|
}
|
||||||
|
else if name == "default_expr" {
|
||||||
|
default_expr = Some(nv.lit.to_owned());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
Meta::Path(p) => {
|
Meta::Path(p) => {
|
||||||
@ -140,6 +144,12 @@ impl sea_orm::prelude::EntityName for Entity {
|
|||||||
if unique {
|
if unique {
|
||||||
match_row = quote! { #match_row.unique() };
|
match_row = quote! { #match_row.unique() };
|
||||||
}
|
}
|
||||||
|
if let Some(default_value) = default_value {
|
||||||
|
match_row = quote! { #match_row.default_value(#default_value) };
|
||||||
|
}
|
||||||
|
if let Some(default_expr) = default_expr {
|
||||||
|
match_row = quote! { #match_row.default_expr(#default_expr) };
|
||||||
|
}
|
||||||
columns_trait.push(match_row);
|
columns_trait.push(match_row);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user