Upgrade sea-query to 0.29 (#1562)

* Upgrade `sea-query` to 0.29

* clippy

* More upgrades

* fixup
This commit is contained in:
Billy Chan 2023-03-22 17:24:42 +08:00 committed by GitHub
parent 83a6071346
commit 737a894e27
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 28 additions and 45 deletions

View File

@ -34,8 +34,8 @@ tracing = { version = "0.1", default-features = false, features = ["attributes",
rust_decimal = { version = "1", default-features = false, optional = true } rust_decimal = { version = "1", default-features = false, optional = true }
bigdecimal = { version = "0.3", default-features = false, optional = true } bigdecimal = { version = "0.3", default-features = false, optional = true }
sea-orm-macros = { version = "0.12.0", path = "sea-orm-macros", default-features = false, features = ["strum"] } sea-orm-macros = { version = "0.12.0", path = "sea-orm-macros", default-features = false, features = ["strum"] }
sea-query = { version = "0.28.3", features = ["thread-safe"] } sea-query = { version = "0.29.0-rc.1", features = ["thread-safe"] }
sea-query-binder = { version = "0.3", default-features = false, optional = true } sea-query-binder = { version = "0.4.0-rc.1", default-features = false, optional = true }
strum = { version = "0.24", default-features = false } strum = { version = "0.24", default-features = false }
serde = { version = "1.0", default-features = false } serde = { version = "1.0", default-features = false }
serde_json = { version = "1.0", default-features = false, optional = true } serde_json = { version = "1.0", default-features = false, optional = true }

View File

@ -38,7 +38,7 @@ clap = { version = "3.2", default-features = false, features = ["std", "env", "d
dotenvy = { version = "0.15", default-features = false, optional = true } dotenvy = { version = "0.15", default-features = false, optional = true }
async-std = { version = "1.9", default-features = false, features = ["attributes", "tokio1"], optional = true } async-std = { version = "1.9", default-features = false, features = ["attributes", "tokio1"], optional = true }
sea-orm-codegen = { version = "=0.12.0", path = "../sea-orm-codegen", default-features = false, optional = true } sea-orm-codegen = { version = "=0.12.0", path = "../sea-orm-codegen", default-features = false, optional = true }
sea-schema = { version = "0.11" } sea-schema = { version = "0.12.0-rc.1" }
sqlx = { version = "0.6", default-features = false, features = ["mysql", "postgres"], optional = true } sqlx = { version = "0.6", default-features = false, features = ["mysql", "postgres"], optional = true }
tracing-subscriber = { version = "0.3", default-features = false, features = ["env-filter", "fmt"] } tracing-subscriber = { version = "0.3", default-features = false, features = ["env-filter", "fmt"] }
tracing = { version = "0.1", default-features = false } tracing = { version = "0.1", default-features = false }

View File

@ -17,7 +17,7 @@ name = "sea_orm_codegen"
path = "src/lib.rs" path = "src/lib.rs"
[dependencies] [dependencies]
sea-query = { version = "0.28.3", default-features = false, features = ["thread-safe"] } sea-query = { version = "0.29.0-rc.1", default-features = false, features = ["thread-safe"] }
syn = { version = "1", default-features = false, features = ["parsing", "proc-macro", "derive", "printing"] } syn = { version = "1", default-features = false, features = ["parsing", "proc-macro", "derive", "printing"] }
quote = { version = "1", default-features = false } quote = { version = "1", default-features = false }
heck = { version = "0.4", default-features = false } heck = { version = "0.4", default-features = false }

View File

@ -255,12 +255,12 @@ pub fn expand_derive_entity_model(data: Data, attrs: Vec<Attribute>) -> syn::Res
if let Some(select_as) = select_as { if let Some(select_as) = select_as {
columns_select_as.push(quote! { columns_select_as.push(quote! {
Self::#field_name => expr.cast_as(sea_orm::sea_query::Alias::new(&#select_as)) Self::#field_name => expr.cast_as(sea_orm::sea_query::Alias::new(#select_as))
}); });
} }
if let Some(save_as) = save_as { if let Some(save_as) = save_as {
columns_save_as.push(quote! { columns_save_as.push(quote! {
Self::#field_name => val.cast_as(sea_orm::sea_query::Alias::new(&#save_as)) Self::#field_name => val.cast_as(sea_orm::sea_query::Alias::new(#save_as))
}); });
} }

View File

@ -25,7 +25,7 @@ clap = { version = "3.2", default-features = false, features = ["std", "env", "d
dotenvy = { version = "0.15", default-features = false, optional = true } dotenvy = { version = "0.15", default-features = false, optional = true }
sea-orm = { version = "0.12.0", path = "../", default-features = false, features = ["macros"] } sea-orm = { version = "0.12.0", path = "../", default-features = false, features = ["macros"] }
sea-orm-cli = { version = "0.12.0", path = "../sea-orm-cli", default-features = false, optional = true } sea-orm-cli = { version = "0.12.0", path = "../sea-orm-cli", default-features = false, optional = true }
sea-schema = { version = "0.11" } sea-schema = { version = "0.12.0-rc.1" }
tracing = { version = "0.1", default-features = false, features = ["log"] } tracing = { version = "0.1", default-features = false, features = ["log"] }
tracing-subscriber = { version = "0.3", default-features = false, features = ["env-filter", "fmt"] } tracing-subscriber = { version = "0.3", default-features = false, features = ["env-filter", "fmt"] }
futures = { version = "0.3", default-features = false, features = ["std"] } futures = { version = "0.3", default-features = false, features = ["std"] }

View File

@ -322,7 +322,7 @@ where
let type_name: String = row.try_get("", "typname")?; let type_name: String = row.try_get("", "typname")?;
info!("Dropping type '{}'", type_name); info!("Dropping type '{}'", type_name);
let mut stmt = Type::drop(); let mut stmt = Type::drop();
stmt.name(Alias::new(&type_name as &str)); stmt.name(Alias::new(&type_name));
db.execute(db_backend.build(&stmt)).await?; db.execute(db_backend.build(&stmt)).await?;
info!("Type '{}' has been dropped", type_name); info!("Type '{}' has been dropped", type_name);
} }

View File

@ -155,31 +155,14 @@ pub trait ActiveModelTrait: Clone + Debug {
let s3 = next!(); let s3 = next!();
Some(ValueTuple::Three(s1, s2, s3)) Some(ValueTuple::Three(s1, s2, s3))
} }
4 => { len => {
let s1 = next!(); let mut vec = Vec::with_capacity(len);
let s2 = next!(); for _ in 0..len {
let s3 = next!(); let s = next!();
let s4 = next!(); vec.push(s);
Some(ValueTuple::Four(s1, s2, s3, s4))
} }
5 => { Some(ValueTuple::Many(vec))
let s1 = next!();
let s2 = next!();
let s3 = next!();
let s4 = next!();
let s5 = next!();
Some(ValueTuple::Five(s1, s2, s3, s4, s5))
} }
6 => {
let s1 = next!();
let s2 = next!();
let s3 = next!();
let s4 = next!();
let s5 = next!();
let s6 = next!();
Some(ValueTuple::Six(s1, s2, s3, s4, s5, s6))
}
_ => panic!("The arity cannot be larger than 6"),
} }
} }

View File

@ -270,7 +270,7 @@ pub trait ColumnTrait: IdenStatic + Iterable + FromStr {
cast_enum_as(val, self, |col, enum_name, col_type| { cast_enum_as(val, self, |col, enum_name, col_type| {
let type_name = match col_type { let type_name = match col_type {
ColumnType::Array(_) => { ColumnType::Array(_) => {
Alias::new(&format!("{}[]", enum_name.to_string())).into_iden() Alias::new(format!("{}[]", enum_name.to_string())).into_iden()
} }
_ => enum_name, _ => enum_name,
}; };

View File

@ -21,9 +21,9 @@ pub trait Linked {
fn find_linked(&self) -> Select<Self::ToEntity> { fn find_linked(&self) -> Select<Self::ToEntity> {
let mut select = Select::new(); let mut select = Select::new();
for (i, mut rel) in self.link().into_iter().rev().enumerate() { for (i, mut rel) in self.link().into_iter().rev().enumerate() {
let from_tbl = Alias::new(&format!("r{i}")).into_iden(); let from_tbl = Alias::new(format!("r{i}")).into_iden();
let to_tbl = if i > 0 { let to_tbl = if i > 0 {
Alias::new(&format!("r{}", i - 1)).into_iden() Alias::new(format!("r{}", i - 1)).into_iden()
} else { } else {
unpack_table_ref(&rel.to_tbl) unpack_table_ref(&rel.to_tbl)
}; };

View File

@ -3,8 +3,8 @@ use crate::{
Select, SelectModel, SelectorTrait, Select, SelectModel, SelectorTrait,
}; };
use sea_query::{ use sea_query::{
Condition, DynIden, Expr, IntoValueTuple, Order, OrderedStatement, SeaRc, SelectStatement, Condition, DynIden, Expr, IntoValueTuple, Order, SeaRc, SelectStatement, SimpleExpr, Value,
SimpleExpr, Value, ValueTuple, ValueTuple,
}; };
use std::marker::PhantomData; use std::marker::PhantomData;

View File

@ -249,7 +249,7 @@ where
type Selector = S; type Selector = S;
fn paginate(self, db: &'db C, page_size: u64) -> Paginator<'db, C, S> { fn paginate(self, db: &'db C, page_size: u64) -> Paginator<'db, C, S> {
assert!(page_size != 0, "page_size should not be zero"); assert!(page_size != 0, "page_size should not be zero");
let sql = &self.stmt.sql.trim()[6..].trim(); let sql = self.stmt.sql.trim()[6..].trim();
let mut query = SelectStatement::new(); let mut query = SelectStatement::new();
query.expr(if let Some(values) = self.stmt.values { query.expr(if let Some(values) = self.stmt.values {
Expr::cust_with_values(sql, values.0) Expr::cust_with_values(sql, values.0)

View File

@ -37,7 +37,7 @@ where
match &sel.alias { match &sel.alias {
Some(alias) => { Some(alias) => {
let alias = format!("{}{}", pre, alias.to_string().as_str()); let alias = format!("{}{}", pre, alias.to_string().as_str());
sel.alias = Some(SeaRc::new(Alias::new(&alias))); sel.alias = Some(SeaRc::new(Alias::new(alias)));
} }
None => { None => {
let col = match &sel.expr { let col = match &sel.expr {
@ -65,7 +65,7 @@ where
_ => panic!("cannot apply alias for expr other than Column or AsEnum"), _ => panic!("cannot apply alias for expr other than Column or AsEnum"),
}; };
let alias = format!("{}{}", pre, col.to_string().as_str()); let alias = format!("{}{}", pre, col.to_string().as_str());
sel.alias = Some(SeaRc::new(Alias::new(&alias))); sel.alias = Some(SeaRc::new(Alias::new(alias)));
} }
}; };
}); });
@ -149,7 +149,7 @@ where
let alias = format!("{}{}", SelectB.as_str(), col.as_str()); let alias = format!("{}{}", SelectB.as_str(), col.as_str());
selector.query().expr(SelectExpr { selector.query().expr(SelectExpr {
expr: col.select_as(col.into_expr()), expr: col.select_as(col.into_expr()),
alias: Some(SeaRc::new(Alias::new(&alias))), alias: Some(SeaRc::new(Alias::new(alias))),
window: None, window: None,
}); });
} }

View File

@ -70,9 +70,9 @@ where
{ {
let mut slf = self; let mut slf = self;
for (i, mut rel) in l.link().into_iter().enumerate() { for (i, mut rel) in l.link().into_iter().enumerate() {
let to_tbl = Alias::new(&format!("r{i}")).into_iden(); let to_tbl = Alias::new(format!("r{i}")).into_iden();
let from_tbl = if i > 0 { let from_tbl = if i > 0 {
Alias::new(&format!("r{}", i - 1)).into_iden() Alias::new(format!("r{}", i - 1)).into_iden()
} else { } else {
unpack_table_ref(&rel.from_tbl) unpack_table_ref(&rel.from_tbl)
}; };
@ -96,12 +96,12 @@ where
for col in <T::Column as Iterable>::iter() { for col in <T::Column as Iterable>::iter() {
let alias = format!("{}{}", SelectB.as_str(), col.as_str()); let alias = format!("{}{}", SelectB.as_str(), col.as_str());
let expr = Expr::col(( let expr = Expr::col((
Alias::new(&format!("r{}", l.link().len() - 1)).into_iden(), Alias::new(format!("r{}", l.link().len() - 1)).into_iden(),
col.into_iden(), col.into_iden(),
)); ));
select_two.query().expr(SelectExpr { select_two.query().expr(SelectExpr {
expr: col.select_as(expr), expr: col.select_as(expr),
alias: Some(SeaRc::new(Alias::new(&alias))), alias: Some(SeaRc::new(Alias::new(alias))),
window: None, window: None,
}); });
} }