rust-react-typescript-demo
rust-react-typescript-demo copied to clipboard
Bump diesel from 1.4.5 to 2.0.0 in /foodi-backend
Bumps diesel from 1.4.5 to 2.0.0.
Release notes
Sourced from diesel's releases.
Diesel 2.0.0 contains the contributions of more than 130 people. More than 1700 commits were submitted over a span of 3 years.
As part of this release we introduced numerous new features and rewrote large parts of the internal structure. Check out our changelog for a complete list of changes. As this is a new major Diesel release it contains a number of breaking changes. Checkout our migration guide for details about how to handle those breaking changes.
This release contains the following parts:
- diesel 2.0.0-rc.0
- diesel_derives 2.0.0-rc.0
- diesel_migrations 2.0.0-rc.0
- diesel_cli 2.0.0-rc.0
- diesel_dynamic_schema 0.2.0-rc.0
This release marks a first prerelease of the upcoming Diesel 2.0 release. We ask you for your help to finalise the release. Checkout the "Timeline for a Diesel 2.0 release" section for details about how you can help us finishing the release.
Features
As a highlight Diesel 2.0.0 adds support for the following features:
- Fully type checked
GROUP BY
support- Support for table aliasing
- Support for defining select clauses via a corresponding type
- Support for
UNION
/INTERSECT
queriesSupport for
GROUP BY
clausesDiesel 2.0 adds support for
GROUP BY
clauses for select queries.This means queries like the following one will just work.
users::table.inner_join(posts::table) .group_by(users::id) .select((users::name, count(posts::id)))
As this is the case for all other Diesel built-in query dsl, this construct is fully checked at compile time. This means Diesel will ensure that the
GROUP BY
clause is valid for the current query and it will also ensure that expressions appearing inside of yourSELECT
clause will match the aggregation rules provided by the currentGROUP BY
clause.Support for table aliasing
Diesel 2.0 adds support for table aliasing. This enables users to write queries, where a table appears more than once in the corresponding
FROM
clause. For this Diesel provides aDiesel::alias!
macro that allows to define new alias for existing tables.The following query demonstrates the support for this feature:
... (truncated)
Changelog
Sourced from diesel's changelog.
[2.0.0] 2022-08-29
Added
MysqlConnection::establish
is able to initiate an SSL connection while specifying certificate roots. The database URL should contain anssl_ca
parameter with a path pointing to the certificate roots. See docs if desired.
MysqlConnection::establish
is able to initiate an SSL connection. The database URL should containssl_mode
parameter with a value of the MySQL client command option--ssl-mode
if desired.
Connection
andSimpleConnection
traits are implemented for a broader range ofr2d2::PooledConnection<M>
types when ther2d2
feature is enabled.Added
DatabaseErrorKind::ReadOnlyTransaction
to allow applications to handle errors caused by writing when only allowed to read.All expression methods can now be called on expressions of nullable types.
Added
BoxedSqlQuery
. This allows users to do a variable amount of.sql
or.bind
calls without changing the underlying type.Added
.sql
toSqlQuery
andUncheckedBind
to allow appending SQL code to an existing query.The
MacAddr
SQL type can now be used without enabling thenetwork-address
feature.Added support for SQLite's
UPSERT
. You can use this feature above SQLite version 3.24.0.Added ability to create custom aggregate functions in SQLite.
Multiple aggregate expressions can now appear together in the same select clause. See the upgrade notes for details.
ValidGrouping
has been added to represent whether an expression is valid for a given group by clause, and whether or not it's aggregate. It replaces the functionality ofNonAggregate
. See the upgrade notes for details.It is now possible to inspect the type of values returned from the database in such a way to support constructing a dynamic value depending on this type.
Added a
without-deprecated
feature that unconditionally disables deprecated items. Use this feature flag to verify that none of your dependencies is setting thewith-deprecated
flag internally.Added support for PostgreSQL's
SIMILAR TO
andNOT SIMILAR TO
.Added
#[diesel(serialize_as)]
analogous to#[diesel(deserialize_as)]
. This allows customization of the serialization behaviour ofInsertable
andAsChangeset
structs.
... (truncated)
Commits
269e8b2
Merge pull request #3260 from weiznich/prepare_2.0_release107ea0f
Merge remote-tracking branch 'upstream/master' into prepare_2.0_released4113ed
Merge pull request #3291 from weiznich/update_diesel_async_to_remove_dbg91c16b4
Merge pull request #3288 from weiznich/speedup_compile_times_for_joins5047e40
Update diesel_async to remove some unneeded dbg calls and hopefully fix the m...d3dc7e5
Add another compile-fail test for invalid joins3a8acc3
RenameSkipSelectableExpressionWrapper
to `SkipSelectableExpressionBoundChe...7829e0d
Update diesel/src/query_source/joins.rsd5fc92b
Fix issues with allowing invalid queriesd88e389
Make it compile in more cases + impl for left join- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
-
@dependabot rebase
will rebase this PR -
@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it -
@dependabot merge
will merge this PR after your CI passes on it -
@dependabot squash and merge
will squash and merge this PR after your CI passes on it -
@dependabot cancel merge
will cancel a previously requested merge and block automerging -
@dependabot reopen
will reopen this PR if it is closed -
@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)