Releases: SeaQL/sea-orm
Releases Β· SeaQL/sea-orm
1.0.0-rc.6
1.0.0-rc.5
New Features
- Introduce
PrimaryKeyArity
withARITY
constant #2185
fn get_arity_of<E: EntityTrait>() -> usize {
E::PrimaryKey::iter().count() // before; runtime
<<E::PrimaryKey as PrimaryKeyTrait>::ValueType as PrimaryKeyArity>::ARITY // now; compile-time
}
- Associate
ActiveModel
toEntityTrait
#2186 - [sea-orm-macros] Added
rename_all
attribute toDeriveEntityModel
&DeriveActiveEnum
#2170
#[derive(DeriveEntityModel)]
#[sea_orm(table_name = "user", rename_all = "camelCase")]
pub struct Model {
#[sea_orm(primary_key)]
id: i32,
first_name: String, // firstName
#[sea_orm(column_name = "lAsTnAmE")]
last_name: String, // lAsTnAmE
}
#[derive(EnumIter, DeriveActiveEnum)]
#[sea_orm(rs_type = "String", db_type = "String(StringLen::None)", rename_all = "camelCase")]
pub enum TestEnum {
DefaultVariant, // defaultVariant
#[sea_orm(rename = "kebab-case")]
VariantKebabCase, // variant-kebab-case
#[sea_orm(rename = "snake_case")]
VariantSnakeCase, // variant_snake_case
#[sea_orm(string_value = "CuStOmStRiNgVaLuE")]
CustomStringValue, // CuStOmStRiNgVaLuE
}
Enhancements
1.0.0-rc.4
1.0.0-rc.3
Enhancements
- [sea-orm-macro] Qualify traits in
DeriveActiveModel
macro #1665
1.0.0-rc.2
Breaking Changes
- Updated Strum to version 0.26 #2088
- Renamed
ConnectOptions::pool_options()
toConnectOptions::sqlx_pool_options()
#2145 - Made
sqlx_common
private, hidingsqlx_error_to_xxx_err
#2145
Enhancements
- [sea-orm-cli] Fix
migrate generate
on emptymod.rs
files #2064 DerivePartialModel
macro attributeentity
now supportssyn::Type
#2137
#[derive(DerivePartialModel)]
#[sea_orm(entity = "<entity::Model as ModelTrait>::Entity")]
struct EntityNameNotAIdent {
#[sea_orm(from_col = "foo2")]
_foo: i32,
#[sea_orm(from_col = "bar2")]
_bar: String,
}
- Added
RelationDef::from_alias()
#2146
assert_eq!(
cake::Entity::find()
.join_as(
JoinType::LeftJoin,
cake_filling::Relation::Cake.def().rev(),
cf.clone()
)
.join(
JoinType::LeftJoin,
cake_filling::Relation::Filling.def().from_alias(cf)
)
.build(DbBackend::MySql)
.to_string(),
[
"SELECT `cake`.`id`, `cake`.`name` FROM `cake`",
"LEFT JOIN `cake_filling` AS `cf` ON `cake`.`id` = `cf`.`cake_id`",
"LEFT JOIN `filling` ON `cf`.`filling_id` = `filling`.`id`",
]
.join(" ")
);
Upgrades
- Upgrade
sea-schema
to0.15.0-rc.3
House keeping
0.12.15
Enhancements
DerivePartialModel
macro attributeentity
now supportssyn::Type
#2137
#[derive(DerivePartialModel)]
#[sea_orm(entity = "<entity::Model as ModelTrait>::Entity")]
struct EntityNameNotAIdent {
#[sea_orm(from_col = "foo2")]
_foo: i32,
#[sea_orm(from_col = "bar2")]
_bar: String,
}
- Added
RelationDef::from_alias()
#2146
assert_eq!(
cake::Entity::find()
.join_as(
JoinType::LeftJoin,
cake_filling::Relation::Cake.def().rev(),
cf.clone()
)
.join(
JoinType::LeftJoin,
cake_filling::Relation::Filling.def().from_alias(cf)
)
.build(DbBackend::MySql)
.to_string(),
[
"SELECT `cake`.`id`, `cake`.`name` FROM `cake`",
"LEFT JOIN `cake_filling` AS `cf` ON `cake`.`id` = `cf`.`cake_id`",
"LEFT JOIN `filling` ON `cf`.`filling_id` = `filling`.`id`",
]
.join(" ")
);
1.0.0-rc.1
0.12.14
0.12.12
0.12.11
New Features
- Added
desc
toCursor
paginator #2037
Enhancements
- Improve query performance of
Paginator
'sCOUNT
query #2030 - Added SQLx slow statements logging to
ConnectOptions
#2055 - Added
QuerySelect::lock_with_behavior
#1867
Bug Fixes
- [sea-orm-macro] Qualify types in
DeriveValueType
macro #2054
House keeping
- Fix clippy warnings on 1.75 #2057