feat: Support for lazy database connections #2268
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Info
New Features
Add support for creating DB connection pools without establishing connections up front. This is already supported by SQLx via the Pool::connect_lazy method.
This was discussed previously
here, but it appears support was never added to SEA ORM directly.
Bug Fixes
Breaking Changes
Changes
This PR adds a new
connect_lazy
option todatabase::ConnectOptions
. If set totrue
, the SQLxPool
will be created using thePool::connect_lazy_with
method; otherwise, thePool::connect_with
method will be used (e.g., the existing behavior). This "lazy" behavior is implemented for each DB variant (Postgres/MySQL/SQLite).