You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cannot embed SeaORM because sea-orm-cli tooling rely on bare sea_orm imports, and so we have to keep it as a top level dep.
To watch on upgrades:
sea-orm
axum - debug_handler needs bare import
tokio - test derive needs bare import
include_dir - used for mailers, offer this from inside loco_rs. cannot be embedded because derive needs a bare import
validator - is already being used internally, and is redundant on the Cargo.toml side. cannot be embedded because derive needs a bare import
To embed+reexport:
tokio, provide thru loco for supported featureset
axum provide thru loco for supported featureset
tracing - used all over loco, and should be used by app. although this is harmless to also maintain in the app Cargo.toml it is one more dep to remove there so it cleans up.
async_trait - similar technically to tracing
chrono, uuid - since we already use it internally, offer it via pub use, to centralize its use, increase likelihood of using same version in a project
To modify:
sea-orm on Cargo.toml can be reduced to default-features=false and features=["macros"] only as the only need for the app is for the contracts.
sea-orm-migrations on migrations/Cargo.toml can be default-features=false
Try embedding SeaORM (remove dep from end user project, all SeaORM operations and types come from the main
loco
namespace:loco::sea_orm
).This experiment might help to consider the pros/cons of such a move.
The goal is to remove the friction from the user by controlling SeaORM versions.
It might be worth to also do the same with
axum
The text was updated successfully, but these errors were encountered: