Refactoring
This commit is contained in:
parent
db22e70c63
commit
ded28be2c0
@ -299,13 +299,10 @@ impl From<ColumnType> for sea_query::ColumnType {
|
||||
ColumnType::Money(s) => sea_query::ColumnType::Money(s),
|
||||
ColumnType::Json => sea_query::ColumnType::Json,
|
||||
ColumnType::JsonBinary => sea_query::ColumnType::JsonBinary,
|
||||
ColumnType::Custom(s) => {
|
||||
ColumnType::Custom(s) | ColumnType::Enum(s, _) => {
|
||||
sea_query::ColumnType::Custom(sea_query::SeaRc::new(sea_query::Alias::new(&s)))
|
||||
}
|
||||
ColumnType::Uuid => sea_query::ColumnType::Uuid,
|
||||
ColumnType::Enum(s, _) => {
|
||||
sea_query::ColumnType::Custom(sea_query::SeaRc::new(sea_query::Alias::new(&s)))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,7 @@ use crate::{
|
||||
PrimaryKeyTrait, QueryTrait,
|
||||
};
|
||||
use core::marker::PhantomData;
|
||||
use sea_query::{Expr, InsertStatement, ValueTuple};
|
||||
use sea_query::{Alias, Expr, InsertStatement, ValueTuple};
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Insert<A>
|
||||
@ -136,7 +136,7 @@ where
|
||||
columns.push(col);
|
||||
let val = Expr::val(av.into_value().unwrap());
|
||||
let expr = if let Some(enum_name) = enum_name {
|
||||
Expr::enum_value(enum_name, val)
|
||||
val.as_enum(Alias::new(enum_name))
|
||||
} else {
|
||||
val.into()
|
||||
};
|
||||
|
@ -2,7 +2,7 @@ use crate::{ColumnTrait, EntityTrait, Iterable, QueryFilter, QueryOrder, QuerySe
|
||||
use core::fmt::Debug;
|
||||
use core::marker::PhantomData;
|
||||
pub use sea_query::JoinType;
|
||||
use sea_query::{DynIden, Expr, IntoColumnRef, SeaRc, SelectStatement, SimpleExpr};
|
||||
use sea_query::{Alias, DynIden, Expr, IntoColumnRef, SeaRc, SelectStatement, SimpleExpr};
|
||||
|
||||
#[derive(Clone, Debug)]
|
||||
pub struct Select<E>
|
||||
@ -115,13 +115,14 @@ where
|
||||
|
||||
fn column_list(&self) -> Vec<SimpleExpr> {
|
||||
let table = SeaRc::new(E::default()) as DynIden;
|
||||
let text_type = SeaRc::new(Alias::new("text")) as DynIden;
|
||||
E::Column::iter()
|
||||
.map(|col| {
|
||||
let col_def = col.def();
|
||||
let enum_name = col_def.get_column_type().get_enum_name();
|
||||
let col_expr = Expr::tbl(table.clone(), col);
|
||||
if enum_name.is_some() {
|
||||
Expr::enum_value("text", col_expr)
|
||||
col_expr.as_enum(text_type.clone())
|
||||
} else {
|
||||
col_expr.into()
|
||||
}
|
||||
|
@ -3,7 +3,7 @@ use crate::{
|
||||
QueryTrait,
|
||||
};
|
||||
use core::marker::PhantomData;
|
||||
use sea_query::{Expr, IntoIden, SimpleExpr, UpdateStatement};
|
||||
use sea_query::{Alias, Expr, IntoIden, SimpleExpr, UpdateStatement};
|
||||
|
||||
#[derive(Clone, Debug)]
|
||||
pub struct Update;
|
||||
@ -110,7 +110,7 @@ where
|
||||
if av.is_set() {
|
||||
let val = Expr::val(av.into_value().unwrap());
|
||||
let expr = if let Some(enum_name) = enum_name {
|
||||
Expr::enum_value(enum_name, val)
|
||||
val.as_enum(Alias::new(enum_name))
|
||||
} else {
|
||||
val.into()
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user