Generate macro attribute "nullable"
This commit is contained in:
parent
ca3dd2d2a1
commit
01011cf0f4
@ -1,3 +1,4 @@
|
||||
ignore = [
|
||||
"tests/entity/*.rs",
|
||||
"tests/compact/*.rs",
|
||||
"tests/expanded/*.rs",
|
||||
]
|
@ -58,6 +58,7 @@ impl Column {
|
||||
ColumnType::Double(Some(l)) => Some(format!("Double(Some({}))", l)),
|
||||
ColumnType::Decimal(Some((p, s))) => Some(format!("Decimal(Some(({}, {})))", p, s)),
|
||||
ColumnType::Money(Some((p, s))) => Some(format!("Money(Some({}, {}))", p, s)),
|
||||
ColumnType::Text => Some("Text".to_owned()),
|
||||
ColumnType::Custom(iden) => {
|
||||
Some(format!("Custom(\"{}\".to_owned())", iden.to_string()))
|
||||
}
|
||||
|
@ -342,6 +342,9 @@ impl EntityWriter {
|
||||
}
|
||||
if let Some(ts) = col.get_col_type_attrs() {
|
||||
attrs.extend(vec![ts]);
|
||||
if !col.not_null {
|
||||
attrs.push(quote! { nullable });
|
||||
}
|
||||
};
|
||||
if !attrs.is_empty() {
|
||||
let mut ts = TokenStream::new();
|
||||
@ -410,9 +413,9 @@ mod tests {
|
||||
},
|
||||
Column {
|
||||
name: "name".to_owned(),
|
||||
col_type: ColumnType::String(Some(255)),
|
||||
col_type: ColumnType::Text,
|
||||
auto_increment: false,
|
||||
not_null: true,
|
||||
not_null: false,
|
||||
unique: false,
|
||||
},
|
||||
],
|
||||
|
@ -7,7 +7,8 @@ use sea_orm::entity::prelude::*;
|
||||
pub struct Model {
|
||||
#[sea_orm(primary_key)]
|
||||
pub id: i32,
|
||||
pub name: String,
|
||||
#[sea_orm(column_type = "Text", nullable)]
|
||||
pub name: Option<String> ,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
|
||||
|
@ -14,7 +14,7 @@ impl EntityName for Entity {
|
||||
#[derive(Clone, Debug, PartialEq, DeriveModel, DeriveActiveModel)]
|
||||
pub struct Model {
|
||||
pub id: i32,
|
||||
pub name: String,
|
||||
pub name: Option<String> ,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
|
||||
@ -46,7 +46,7 @@ impl ColumnTrait for Column {
|
||||
fn def(&self) -> ColumnDef {
|
||||
match self {
|
||||
Self::Id => ColumnType::Integer.def(),
|
||||
Self::Name => ColumnType::String(Some(255u32)).def(),
|
||||
Self::Name => ColumnType::Text.def().null(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user