parent
2520ee4070
commit
846e73f0ac
107
CHANGELOG.md
107
CHANGELOG.md
@ -5,6 +5,113 @@ All notable changes to this project will be documented in this file.
|
||||
The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
||||
and this project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
## 0.4.0 - 2021-11-19
|
||||
|
||||
### Fixed Issues
|
||||
* Disable SQLx query logging https://github.com/SeaQL/sea-orm/issues/290
|
||||
* Code generated by `sea-orm-cli` cannot pass clippy https://github.com/SeaQL/sea-orm/issues/296
|
||||
* Should return detailed error message for connection failure https://github.com/SeaQL/sea-orm/issues/310
|
||||
* `DateTimeWithTimeZone` does not implement `Serialize` and `Deserialize` https://github.com/SeaQL/sea-orm/issues/319
|
||||
* Support returning clause to avoid database hits https://github.com/SeaQL/sea-orm/issues/183
|
||||
|
||||
### Merged PRs
|
||||
* chore: update to Rust 2021 Edition by @sno2 in https://github.com/SeaQL/sea-orm/pull/273
|
||||
* Enumeration - 3 by @billy1624 in https://github.com/SeaQL/sea-orm/pull/274
|
||||
* Enumeration - 2 by @billy1624 in https://github.com/SeaQL/sea-orm/pull/261
|
||||
* Codegen fix clippy warnings by @billy1624 in https://github.com/SeaQL/sea-orm/pull/303
|
||||
* Add axum example by @YoshieraHuang in https://github.com/SeaQL/sea-orm/pull/297
|
||||
* Enumeration by @billy1624 in https://github.com/SeaQL/sea-orm/pull/258
|
||||
* Add `PaginatorTrait` and `CountTrait` for more constrains by @YoshieraHuang in https://github.com/SeaQL/sea-orm/pull/306
|
||||
* Continue `PaginatorTrait` by @billy1624 in https://github.com/SeaQL/sea-orm/pull/307
|
||||
* Refactor `Schema` by @billy1624 in https://github.com/SeaQL/sea-orm/pull/309
|
||||
* Detailed connection errors by @billy1624 in https://github.com/SeaQL/sea-orm/pull/312
|
||||
* Suppress `ouroboros` missing docs warnings by @billy1624 in https://github.com/SeaQL/sea-orm/pull/288
|
||||
* `with-json` feature requires `chrono/serde` by @billy1624 in https://github.com/SeaQL/sea-orm/pull/320
|
||||
* Pass the argument `entity.table_ref()` instead of just `entity`. by @josh-codes in https://github.com/SeaQL/sea-orm/pull/318
|
||||
* Unknown types could be a newtypes instead of `ActiveEnum` by @billy1624 in https://github.com/SeaQL/sea-orm/pull/324
|
||||
* Returning by @billy1624 in https://github.com/SeaQL/sea-orm/pull/292
|
||||
|
||||
### Breaking Changes
|
||||
* Refactor `paginate()` & `count()` utilities into `PaginatorTrait`. You can use the paginator as usual but you might need to import `PaginatorTrait` manually when upgrading from previous version.
|
||||
```rust
|
||||
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` converting `EntityTrait` into different `sea-query` statement now has to be initialized with `DbBackend`.
|
||||
```rust
|
||||
use sea_orm::{tests_cfg::*, DbBackend, Schema};
|
||||
use sea_orm::sea_query::TableCreateStatement;
|
||||
|
||||
// Before `0.4.x`
|
||||
let _: TableCreateStatement = Schema::create_table_from_entity(cake::Entity);
|
||||
|
||||
// Now
|
||||
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 avoid excessive querying of inserted or updated model from the database.
|
||||
```rust
|
||||
// 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()]
|
||||
)]);
|
||||
```
|
||||
```rust
|
||||
// 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
|
||||
|
||||
## 0.3.2 - 2021-11-03
|
||||
### Fixed Issues
|
||||
* Support for BYTEA Postgres primary keys https://github.com/SeaQL/sea-orm/issues/286
|
||||
|
||||
### Merged PRs
|
||||
* Documentation for sea-orm by @charleschege in https://github.com/SeaQL/sea-orm/pull/280
|
||||
* Support `Vec<u8>` primary key by @billy1624 in https://github.com/SeaQL/sea-orm/pull/287
|
||||
|
||||
**Full Changelog**: https://github.com/SeaQL/sea-orm/compare/0.3.1...0.3.2
|
||||
|
||||
## 0.3.1 - 2021-10-23
|
||||
|
||||
(We are changing our Changelog format from now on)
|
||||
|
Loading…
x
Reference in New Issue
Block a user