All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Transactions Isolation level and Access mode SeaQL#1230
- Support Vector of enum for Postgres SeaQL#1210
- Added
DatabaseConnection::close
SeaQL#1236
- Remove dependency when not needed SeaQL#1213
- Fixes
DeriveColumn
(by qualifyingIdenStatic::as_str
) SeaQL#1280
- Add
QuerySelect::columns
method - select multiple columns SeaQL#1264 - Transactions Isolation level and Access mode SeaQL#1230
DeriveEntityModel
derive macro: when parsing field type, always treat field withOption<T>
as nullable column SeaQL#1257
- [sea-orm-cli] Generate
Related
implementation for many-to-many relation with extra columns SeaQL#1260 - Optimize the default implementation of
TryGetableFromJson::try_get_from_json()
- deserializing intoSelf
directly without the need of a intermediateserde_json::Value
SeaQL#1249
- Fix DeriveActiveEnum expand enum variant starts with number SeaQL#1219
- [sea-orm-cli] Generate entity file for specified tables only SeaQL#1245
- Support appending
DbErr
toMockDatabase
SeaQL#1241
- Filter rows with
IS IN
enum values expression SeaQL#1183 - [sea-orm-cli] Generate entity with relation variant order by name of reference table SeaQL#1229
- [sea-orm-cli] Set search path when initializing Postgres connection for CLI generate entity SeaQL#1212
- [sea-orm-cli] Generate
_
prefix to enum variant starts with number SeaQL#1211 - Fix composite key cursor pagination SeaQL#1216
- The logic for single-column primary key was correct, but for composite keys the logic was incorrect
- Added
Insert::exec_without_returning
SeaQL#1208
- Remove dependency when not needed SeaQL#1207
- [sea-orm-rocket] added
sqlx_logging
toConfig
SeaQL#1192 - Collecting metrics for
query_one/all
SeaQL#1165 - Use GAT to elide
StreamTrait
lifetime SeaQL#1161
- corrected the error name
UpdateGetPrimaryKey
SeaQL#1180
- Update MSRV to 1.65
- [sea-orm-cli] Escape module name defined with Rust keywords SeaQL#1052
- [sea-orm-cli] Check to make sure migration name doesn't contain hyphen
-
in it SeaQL#879, SeaQL#1155 - Support
time
crate for SQLite SeaQL#995
- [sea-orm-cli] Generate
Related
for m-to-n relation SeaQL#1075 - [sea-orm-cli] Generate model entity with Postgres Enum field SeaQL#1153
- [sea-orm-cli] Migrate up command apply all pending migrations SeaQL#1010
- [sea-orm-cli] Conflicting short flag
-u
when executingmigrate generate
command SeaQL#1157 - Prefix the usage of types with
sea_orm::
insideDeriveActiveEnum
derive macros SeaQL#1146, SeaQL#1154 - [sea-orm-cli] Generate model with
Vec<f32>
orVec<f64>
should not deriveEq
on the model struct SeaQL#1158
- [sea-orm-cli] [sea-orm-migration] Add
cli
feature to optionally include dependencies that are required by the CLI SeaQL#978
- Upgrade
sea-schema
to 0.10.2 SeaQL#1153
- Better error types (carrying SQLx Error) SeaQL#1002
- Support array datatype in PostgreSQL SeaQL#1132
- [sea-orm-cli] Generate entity files as a library or module SeaQL#953
- [sea-orm-cli] Generate a new migration template with name prefix of unix timestamp SeaQL#947
- [sea-orm-cli] Generate migration in modules SeaQL#933
- [sea-orm-cli] Generate
DeriveRelation
on emptyRelation
enum SeaQL#1019 - [sea-orm-cli] Generate entity derive
Eq
if possible SeaQL#988 - [sea-orm-cli] Run migration on any PostgreSQL schema SeaQL#1056
- Support
distinct
&distinct_on
expression SeaQL#902 fn column()
also handle enum type SeaQL#973- Added
acquire_timeout
onConnectOptions
SeaQL#897 - [sea-orm-cli]
migrate fresh
command will drop all PostgreSQL types SeaQL#864, SeaQL#991 - Better compile error for entity without primary key SeaQL#1020
- Added blanket implementations of
IntoActiveValue
forOption
values SeaQL#833 - Added
into_model
&into_json
toCursor
SeaQL#1112 - Added
set_schema_search_path
method toConnectOptions
for setting schema search path of PostgreSQL connection SeaQL#1056 - Serialize
time
types asserde_json::Value
SeaQL#1042 - Implements
fmt::Display
forActiveEnum
SeaQL#986 - Implements
TryFrom<ActiveModel>
forModel
SeaQL#990
- Trim spaces when paginating raw SQL SeaQL#1094
- Replaced
usize
withu64
inPaginatorTrait
SeaQL#789 - Type signature of
DbErr
changed as a result of SeaQL#1002 ColumnType::Enum
structure changed:
enum ColumnType {
// then
Enum(String, Vec<String>)
// now
Enum {
/// Name of enum
name: DynIden,
/// Variants of enum
variants: Vec<DynIden>,
}
...
}
// example
#[derive(Iden)]
enum TeaEnum {
#[iden = "tea"]
Enum,
#[iden = "EverydayTea"]
EverydayTea,
#[iden = "BreakfastTea"]
BreakfastTea,
}
// then
ColumnDef::new(active_enum_child::Column::Tea)
.enumeration("tea", vec!["EverydayTea", "BreakfastTea"])
// now
ColumnDef::new(active_enum_child::Column::Tea)
.enumeration(TeaEnum::Enum, [TeaEnum::EverydayTea, TeaEnum::BreakfastTea])
- A new method
array_type
was added toValueType
:
impl sea_orm::sea_query::ValueType for MyType {
fn array_type() -> sea_orm::sea_query::ArrayType {
sea_orm::sea_query::ArrayType::TypeName
}
...
}
ActiveEnum::name()
changed return type toDynIden
:
#[derive(Debug, Iden)]
#[iden = "category"]
pub struct CategoryEnum;
impl ActiveEnum for Category {
// then
fn name() -> String {
"category".to_owned()
}
// now
fn name() -> DynIden {
SeaRc::new(CategoryEnum)
}
...
}
- Documentation grammar fixes SeaQL#1050
- Replace
dotenv
withdotenvy
in examples SeaQL#1085 - Exclude test_cfg module from SeaORM SeaQL#1077
- Support
rocket_okapi
SeaQL#1071
- Upgrade
sea-query
to 0.26 SeaQL#985
fn column()
also handle enum type SeaQL#973- Generate migration in modules SeaQL#933
- Generate
DeriveRelation
on emptyRelation
enum SeaQL#1019 - Documentation grammar fixes SeaQL#1050
- Implement
IntoActiveValue
fortime
types SeaQL#1041 - Fixed module import for
FromJsonQueryResult
derive macro SeaQL#1081
- [sea-orm-cli] Migrator CLI handles init and generate commands SeaQL#931
- [sea-orm-cli] added
with-copy-enums
flag to conditional deriveCopy
onActiveEnum
SeaQL#936
- Exclude
chrono
default features SeaQL#950 - Set minimal rustc version to
1.60
SeaQL#938 - Update
sea-query
to0.26.3
In this minor release, we removed time
v0.1 from the dependency graph
- [sea-orm-cli] Codegen support for
VarBinary
column type SeaQL#746 - [sea-orm-cli] Generate entity for SYSTEM VERSIONED tables on MariaDB SeaQL#876
RelationDef
&RelationBuilder
should beSend
&Sync
SeaQL#898
- Remove unnecessary
async_trait
SeaQL#737
- Cursor pagination SeaQL#822
- Custom join on conditions SeaQL#793
DeriveMigrationName
andsea_orm_migration::util::get_file_stem
SeaQL#736FromJsonQueryResult
for deserializingJson
from query result SeaQL#794
- Added
sqlx_logging_level
toConnectOptions
SeaQL#800 - Added
num_items_and_pages
toPaginator
SeaQL#768 - Added
TryFromU64
fortime
SeaQL#849 - Added
Insert::on_conflict
SeaQL#791 - Added
QuerySelect::join_as
andQuerySelect::join_as_rev
SeaQL#852 - Include column name in
TryGetError::Null
SeaQL#853 - [sea-orm-cli] Improve logging SeaQL#735
- [sea-orm-cli] Generate enum with numeric like variants SeaQL#588
- [sea-orm-cli] Allow old pending migration to be applied SeaQL#755
- [sea-orm-cli] Skip generating entity for ignored tables SeaQL#837
- [sea-orm-cli] Generate code for
time
crate SeaQL#724 - [sea-orm-cli] Add various blob column types SeaQL#850
- [sea-orm-cli] Generate entity files with Postgres's schema name SeaQL#422
- Upgrade
clap
to 3.2 SeaQL#706 - Upgrade
time
to 0.3 SeaQL#834 - Upgrade
sqlx
to 0.6 SeaQL#834 - Upgrade
uuid
to 1.0 SeaQL#834 - Upgrade
sea-query
to 0.26 SeaQL#834 - Upgrade
sea-schema
to 0.9 SeaQL#834
- Refactor stream metrics SeaQL#778
- [sea-orm-cli] skip checking connection string for credentials SeaQL#851
SelectTwoMany::one()
has been dropped SeaQL#813, you can get(Entity, Vec<RelatedEntity>)
by first querying a single model from Entity, then use [ModelTrait::find_related
] on the model.-
We now adopt the weak dependency syntax in Cargo. That means the flags
["sqlx-json", "sqlx-chrono", "sqlx-decimal", "sqlx-uuid", "sqlx-time"]
are not needed and now removed. Instead,with-time
will enablesqlx?/time
only ifsqlx
is already enabled. As a consequence, now the featureswith-json
,with-chrono
,with-rust_decimal
,with-uuid
,with-time
will not be enabled as a side-effect of enablingsqlx
.
- Removed
async-std
from dependency SeaQL#758
- [sea-orm-cli]
sea migrate generate
to generate a new, empty migration file SeaQL#656
- Add
max_connections
option to CLI SeaQL#670 - Derive
Eq
,Clone
forDbErr
SeaQL#677 - Add
is_changed
toActiveModelTrait
SeaQL#683
- Fix
DerivePrimaryKey
with custom primary key column name SeaQL#694 - Fix
DeriveEntityModel
macros override column name SeaQL#695 - Fix Insert with no value supplied using
DEFAULT
SeaQL#589
- Migration utilities are moved from sea-schema to sea-orm repo, under a new sub-crate
sea-orm-migration
.sea_schema::migration::prelude
should be replaced bysea_orm_migration::prelude
in all migration files
- Upgrade
sea-query
to 0.24.x,sea-schema
to 0.8.x - Upgrade example to Actix Web 4, Actix Web 3 remains SeaQL#638
- Added Tonic gRPC example SeaQL#659
- Upgrade GraphQL example to use axum 0.5.x
- Upgrade axum example to 0.5.x
- Failed to insert row with only default values SeaQL#420
- Reduce database connections to 1 during codegen SeaQL#511
- Column names with single letters separated by underscores are concatenated SeaQL#630
- Update Actix Web examples SeaQL#639
- Lower function missing SeaQL#672
- is_changed on active_model SeaQL#674
- Failing find_with_related with column_name attribute SeaQL#693
Full Changelog: https://github.com/SeaQL/sea-orm/compare/0.7.1...0.8.0
- Fix sea-orm-cli error
- Fix sea-orm cannot build without
with-json
- Update ActiveModel by JSON by @billy1624 in SeaQL#492
- Supports
time
crate by @billy1624 SeaQL#602 - Allow for creation of indexes for PostgreSQL and SQLite @nickb937 SeaQL#593
- Added
delete_by_id
@ShouvikGhosh2048 SeaQL#590 - Implement
PaginatorTrait
forSelectorRaw
@shinbunbun SeaQL#617
- Added axum graphql example by @aaronleopold in SeaQL#587
- Add example for integrate with jsonrpsee by @hunjixin SeaQL#632
- Codegen add serde derives to enums, if specified by @BenJeau SeaQL#463
- Codegen Unsigned Integer by @billy1624 SeaQL#397
- Add
Send
bound toQueryStream
andTransactionStream
by @sebpuetz SeaQL#471 - Add
Send
toStreamTrait
by @nappa85 SeaQL#622 sea
as an alternative bin name tosea-orm-cli
by @ZhangHanDong SeaQL#558
- Fix codegen with Enum in expanded format by @billy1624 SeaQL#624
- Fixing and testing into_json of various field types by @billy1624 SeaQL#539
- Exclude
mock
from default features by @billy1624 SeaQL#562 create_table_from_entity
will no longer create index for MySQL, please use the new methodcreate_index_from_entity
- Describe default value of ActiveValue on document by @Ken-Miura in SeaQL#556
- community: add axum-book-management by @lz1998 in SeaQL#564
- Add Backpack to project showcase by @JSH32 in SeaQL#567
- Add mediarepo to showcase by @Trivernis in SeaQL#569
- COMMUNITY: add a link to Svix to showcase by @tasn in SeaQL#537
- Update COMMUNITY.md by @naryand in SeaQL#570
- Update COMMUNITY.md by @BobAnkh in SeaQL#568
- Update COMMUNITY.md by @KaniyaSimeji in SeaQL#566
- Update COMMUNITY.md by @aaronleopold in SeaQL#565
- Update COMMUNITY.md by @gudaoxuri in SeaQL#572
- Update Wikijump's entry in COMMUNITY.md by @ammongit in SeaQL#573
- Update COMMUNITY.md by @koopa1338 in SeaQL#574
- Update COMMUNITY.md by @gengteng in SeaQL#580
- Update COMMUNITY.md by @Yama-Tomo in SeaQL#582
- add oura-postgres-sink to COMMUNITY.md by @rvcas in SeaQL#594
- Add rust-example-caster-api to COMMUNITY.md by @bkonkle in SeaQL#623
- orm-cli generated incorrect type for #[sea_orm(primary_key)]. Should be u64. Was i64. SeaQL#295
- how to update dynamically from json value SeaQL#346
- Make
DatabaseConnection
Clone
with the default features enabled SeaQL#438 - Updating multiple fields in a Model by passing a reference SeaQL#460
- SeaORM CLI not adding serde derives to Enums SeaQL#461
- sea-orm-cli generates wrong data type for nullable blob SeaQL#490
- Support the time crate in addition (instead of?) chrono SeaQL#499
- PaginatorTrait for SelectorRaw SeaQL#500
- sea_orm::DatabaseConnection should implement
Clone
by default SeaQL#517 - How do you seed data in migrations using ActiveModels? SeaQL#522
- Datetime fields are not serialized by
.into_json()
on queries SeaQL#530 - Update / Delete by id SeaQL#552
#[sea_orm(indexed)]
only works for MySQL SeaQL#554sea-orm-cli generate --with-serde
does not work on Postgresql custom type SeaQL#581sea-orm-cli generate --expanded-format
panic when postgres table contains enum type SeaQL#614- UUID fields are not serialized by
.into_json()
on queries SeaQL#619
Full Changelog: https://github.com/SeaQL/sea-orm/compare/0.6.0...0.7.0
- Migration Support by @billy1624 in SeaQL#335
- Support
DateTime<Utc>
&DateTime<Local>
by @billy1624 in SeaQL#489 - Add
max_lifetime
connection option by @billy1624 in SeaQL#493
- Model with Generics by @billy1624 in SeaQL#400
- Add Poem example by @sunli829 in SeaQL#446
- Codegen
column_name
proc_macro attribute by @billy1624 in SeaQL#433 - Easy joins with MockDatabase #447 by @cemoktra in SeaQL#455
- CLI allow generate entity with url without password by @billy1624 in SeaQL#436
- Support up to 6-ary composite primary key by @billy1624 in SeaQL#423
- Fix FromQueryResult when Result is redefined by @tasn in SeaQL#495
- Remove
r#
prefix when derivingFromQueryResult
by @smrtrfszm in SeaQL#494
- Name conflict of foreign key constraints when two entities have more than one foreign keys by @billy1624 in SeaQL#417
- Is it possible to have 4 values Composite Key? SeaQL#352
- Support
DateTime<Utc>
&DateTime<Local>
SeaQL#381 - Codegen
column_name
proc_macro attribute if column name isn't in snake case SeaQL#395 - Model with Generics SeaQL#402
- Foreign key constraint collision when multiple keys exist between the same two tables SeaQL#405
- sea-orm-cli passwordless database user causes "No password was found in the database url" error SeaQL#435
- Testing joins with MockDatabase SeaQL#447
- Surface max_lifetime connection option SeaQL#475
Full Changelog: https://github.com/SeaQL/sea-orm/compare/0.5.0...0.6.0
- Why insert, update, etc return an ActiveModel instead of Model? SeaQL#289
- Rework
ActiveValue
SeaQL#321 - Some missing ActiveEnum utilities SeaQL#338
- First metric and tracing implementation by @nappa85 in SeaQL#373
- Update sea-orm to depends on SeaQL/sea-query#202 by @billy1624 in SeaQL#370
- Codegen ActiveEnum & Create Enum From ActiveEnum by @billy1624 in SeaQL#348
- Axum example: update to Axum v0.4.2 by @ttys3 in SeaQL#383
- Fix rocket version by @Gabriel-Paulucci in SeaQL#384
- Insert & Update Return
Model
by @billy1624 in SeaQL#339 - Rework
ActiveValue
by @billy1624 in SeaQL#340 - Add wrapper method
ModelTrait::delete
by @billy1624 in SeaQL#396 - Add docker create script for contributors to setup databases locally by @billy1624 in SeaQL#378
- Log with tracing-subscriber by @billy1624 in SeaQL#399
- Codegen SQLite by @billy1624 in SeaQL#386
- PR without clippy warnings in file changed tab by @billy1624 in SeaQL#401
- Rename
sea-strum
lib back tostrum
by @billy1624 in SeaQL#361
ActiveModel::insert
andActiveModel::update
returnModel
instead ofActiveModel
- Method
ActiveModelBehavior::after_save
takesModel
as input instead ofActiveModel
- Rename method
sea_orm::unchanged_active_value_not_intended_for_public_use
tosea_orm::Unchanged
- Rename method
ActiveValue::unset
toActiveValue::not_set
- Rename method
ActiveValue::is_unset
toActiveValue::is_not_set
PartialEq
ofActiveValue
will also check the equality of state instead of just checking the equality of value
Full Changelog: https://github.com/SeaQL/sea-orm/compare/0.4.2...0.5.0
- Delete::many() doesn't work when schema_name is defined SeaQL#362
- find_with_related panic SeaQL#374
- How to define the rust type of TIMESTAMP? SeaQL#344
- Add Table on the generated Column enum SeaQL#356
Delete::many()
withTableRef
by @billy1624 in SeaQL#363- Fix related & linked with enum columns by @billy1624 in SeaQL#376
- Temporary Fix: Handling MySQL & SQLite timestamp columns by @billy1624 in SeaQL#379
- Add feature to generate table Iden by @Sytten in SeaQL#360
Full Changelog: https://github.com/SeaQL/sea-orm/compare/0.4.1...0.4.2
- Is it possible to have 4 values Composite Key? SeaQL#352
- [sea-orm-cli] Better handling of relation generations SeaQL#239
- Add TryFromU64 trait for
DateTime<FixedOffset>
. by @kev0960 in SeaQL#331 - add offset and limit by @lz1998 in SeaQL#351
- For some reason the
axum_example
fail to compile by @billy1624 in SeaQL#355 - Support Up to 6 Values Composite Primary Key by @billy1624 in SeaQL#353
- Codegen Handle Self Referencing & Multiple Relations to the Same Related Entity by @billy1624 in SeaQL#347
Full Changelog: https://github.com/SeaQL/sea-orm/compare/0.4.0...0.4.1
- Disable SQLx query logging SeaQL#290
- Code generated by
sea-orm-cli
cannot pass clippy SeaQL#296 - Should return detailed error message for connection failure SeaQL#310
DateTimeWithTimeZone
does not implementSerialize
andDeserialize
SeaQL#319- Support returning clause to avoid database hits SeaQL#183
- chore: update to Rust 2021 Edition by @sno2 in SeaQL#273
- Enumeration - 3 by @billy1624 in SeaQL#274
- Enumeration - 2 by @billy1624 in SeaQL#261
- Codegen fix clippy warnings by @billy1624 in SeaQL#303
- Add axum example by @YoshieraHuang in SeaQL#297
- Enumeration by @billy1624 in SeaQL#258
- Add
PaginatorTrait
andCountTrait
for more constraints by @YoshieraHuang in SeaQL#306 - Continue
PaginatorTrait
by @billy1624 in SeaQL#307 - Refactor
Schema
by @billy1624 in SeaQL#309 - Detailed connection errors by @billy1624 in SeaQL#312
- Suppress
ouroboros
missing docs warnings by @billy1624 in SeaQL#288 with-json
feature requireschrono/serde
by @billy1624 in SeaQL#320- Pass the argument
entity.table_ref()
instead of justentity
. by @josh-codes in SeaQL#318 - Unknown types could be a newtypes instead of
ActiveEnum
by @billy1624 in SeaQL#324 - Returning by @billy1624 in SeaQL#292
- Refactor
paginate()
&count()
utilities intoPaginatorTrait
. You can use the paginator as usual but you might need to importPaginatorTrait
manually when upgrading from the previous version.use futures::TryStreamExt; use sea_orm::{entity::*, query::*, tests_cfg::cake}; let mut cake_stream = cake::Entity::find() .order_by_asc(cake::Column::Id) .paginate(db, 50) .into_stream(); while let Some(cakes) = cake_stream.try_next().await? { // Do something on cakes: Vec<cake::Model> }
- The helper struct
Schema
convertingEntityTrait
into differentsea-query
statements now has to be initialized withDbBackend
.use sea_orm::{tests_cfg::*, DbBackend, Schema}; use sea_orm::sea_query::TableCreateStatement; // 0.3.x let _: TableCreateStatement = Schema::create_table_from_entity(cake::Entity); // 0.4.x let schema: Schema = Schema::new(DbBackend::MySql); let _: TableCreateStatement = schema.create_table_from_entity(cake::Entity);
- When performing insert or update operation on
ActiveModel
against PostgreSQL,RETURNING
clause will be used to perform select in a single SQL statement.// For PostgreSQL cake::ActiveModel { name: Set("Apple Pie".to_owned()), ..Default::default() } .insert(&postgres_db) .await?; assert_eq!( postgres_db.into_transaction_log(), vec![Transaction::from_sql_and_values( DbBackend::Postgres, r#"INSERT INTO "cake" ("name") VALUES ($1) RETURNING "id", "name""#, vec!["Apple Pie".into()] )]);
// For MySQL & SQLite cake::ActiveModel { name: Set("Apple Pie".to_owned()), ..Default::default() } .insert(&other_db) .await?; assert_eq!( other_db.into_transaction_log(), vec![ Transaction::from_sql_and_values( DbBackend::MySql, r#"INSERT INTO `cake` (`name`) VALUES (?)"#, vec!["Apple Pie".into()] ), Transaction::from_sql_and_values( DbBackend::MySql, r#"SELECT `cake`.`id`, `cake`.`name` FROM `cake` WHERE `cake`.`id` = ? LIMIT ?"#, vec![15.into(), 1u64.into()] )]);
Full Changelog: https://github.com/SeaQL/sea-orm/compare/0.3.2...0.4.0
- Support for BYTEA Postgres primary keys SeaQL#286
- Documentation for sea-orm by @charleschege in SeaQL#280
- Support
Vec<u8>
primary key by @billy1624 in SeaQL#287
Full Changelog: https://github.com/SeaQL/sea-orm/compare/0.3.1...0.3.2
(We are changing our Changelog format from now on)
- Align case transforms across derive macros SeaQL#262
- Added
is_null
andis_not_null
toColumnTrait
SeaQL#267
(The following is generated by GitHub)
- Changed manual url parsing to use Url crate by @AngelOnFira in SeaQL#253
- Test self referencing relation by @billy1624 in SeaQL#256
- Unify case-transform using the same crate by @billy1624 in SeaQL#264
- CI cleaning by @AngelOnFira in SeaQL#263
- CI install sea-orm-cli in debug mode by @billy1624 in SeaQL#265
Full Changelog: https://github.com/SeaQL/sea-orm/compare/0.3.0...0.3.1
https://www.sea-ql.org/SeaORM/blog/2021-10-15-whats-new-in-0.3.0
- Built-in Rocket support
ConnectOptions
let mut opt = ConnectOptions::new("protocol://username:password@host/database".to_owned());
opt.max_connections(100)
.min_connections(5)
.connect_timeout(Duration::from_secs(8))
.idle_timeout(Duration::from_secs(8));
let db = Database::connect(opt).await?;
- [#211] Throw error if none of the db rows are affected
assert_eq!(
Update::one(cake::ActiveModel {
name: Set("Cheese Cake".to_owned()),
..model.into_active_model()
})
.exec(&db)
.await,
Err(DbErr::RecordNotFound(
"None of the database rows are affected".to_owned()
))
);
// update many remains the same
assert_eq!(
Update::many(cake::Entity)
.col_expr(cake::Column::Name, Expr::value("Cheese Cake".to_owned()))
.filter(cake::Column::Id.eq(2))
.exec(&db)
.await,
Ok(UpdateResult { rows_affected: 0 })
);
- [#223]
ActiveValue::take()
&ActiveValue::into_value()
withoutunwrap()
- [#205] Drop
Default
trait bound ofPrimaryKeyTrait::ValueType
- [#222] Transaction & streaming
- [#210] Update
ActiveModelBehavior
API - [#240] Add derive
DeriveIntoActiveModel
andIntoActiveValue
trait - [#237] Introduce optional serde support for model code generation
- [#246] Add
#[automatically_derived]
to all derived implementations
- [#224] [sea-orm-cli] Date & Time column type mapping
- Escape rust keywords with
r#
raw identifier
- [#227] Resolve "Inserting actual none value of Option results in panic"
- [#219] [sea-orm-cli] Add
--tables
option - [#189] Add
debug_query
anddebug_query_stmt
macro
https://www.sea-ql.org/SeaORM/blog/2021-10-01-whats-new-in-0.2.4
- [#186] [sea-orm-cli] Foreign key handling
- [#191] [sea-orm-cli] Unique key handling
- [#182]
find_linked
join with alias - [#202] Accept both
postgres://
andpostgresql://
- [#208] Support fetching T, (T, U), (T, U, P) etc
- [#209] Rename column name & column enum variant
- [#207] Support
chrono::NaiveDate
&chrono::NaiveTime
- Support
Condition::not
(from sea-query)
- [#152] DatabaseConnection impl
Clone
- [#175] Impl
TryGetableMany
for different types of generics - Codegen
TimestampWithTimeZone
fixup
- [#105] Compact entity format
- [#132] Add ActiveModel
insert
&update
- [#129] Add
set
method toUpdateMany
- [#118] Initial lock support
- [#167] Add
FromQueryResult::find_by_statement
- Update dependencies
- [#37] Rocket example
- [#114]
log
crate andenv-logger
- [#103]
InsertResult
to return the primary key's type - [#89] Represent several relations between same types by
Linked
- [#59] Transforming an Entity into
TableCreateStatement
- [#108] Remove impl TryGetable for Option
- [#68] Added
DateTimeWithTimeZone
as supported attribute type - [#70] Generate arbitrary named entity
- [#80] Custom column name
- [#81] Support join on multiple columns
- [#99] Implement FromStr for ColumnTrait
- Early release of SeaORM