Skip to content

Re-evaluate Async Support #226

@NOBLES5E

Description

@NOBLES5E

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 newer rusqlite 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

No one assigned

    Labels

    dependenciesPull requests that update a dependency fileenhancementNew feature or requestquestionFurther information is requested

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions