-
-
Notifications
You must be signed in to change notification settings - Fork 24
Closed
Labels
dependenciesPull requests that update a dependency filePull requests that update a dependency fileenhancementNew feature or requestNew feature or requestquestionFurther information is requestedFurther information is requested
Milestone
Description
Thanks for creating the rusqlite_migration
crate! It's a valuable tool for many.
The current async support in rusqlite_migration
may warrant reevaluation as it may be introducing more complexity and constraints than benefits:
- The async support has led to slower release cycle (e.g. Too strict constraint on
rusqlite
version #108) that prevent users from upgrading to newerrusqlite
versions, and this happens again and again. - Since
rusqlite
is inherently synchronous, the async wrapper doesn't provide real asynchronous benefits - it's still blocking under the hood (please advise me if there's any benefit I'm not aware of) - Users who want non-blocking migrations can easily achieve this without dedicated async support by using
tokio::spawn_blocking
or similar approaches in their application code - Removing the async support would:
- Simplify the codebase
- Remove dependency constraints
- Make version upgrades easier
- Still allow users to handle migrations asynchronously in their own code if needed
I'd appreciate your thoughts on this @cljoly .
Metadata
Metadata
Assignees
Labels
dependenciesPull requests that update a dependency filePull requests that update a dependency fileenhancementNew feature or requestNew feature or requestquestionFurther information is requestedFurther information is requested