Expand description
Module registration.
Both framework crates and application feature crates (plugins) expose a
Module: a unit with a stable ModuleId, its own migrations, the modules
and database capabilities it requires, and the contributions it registers. The
binary registers them in a ModuleRegistry, which orders everything so a
module’s dependencies come first, and answers whether a module is present.
Structs§
- Capability
- A named database capability a module requires or uses optionally (currently a
PostgreSQL extension, e.g.
Capability::new("postgis")). A newtype for the same reason asModuleId. - Module
Id - A module’s stable identity: a lowercase
vendor.packagecode (e.g.ModuleId::new("acme.blog")), declared once and never changed. A newtype so an id is never confused with an arbitrary string. - Module
Registry - Ordered collection of registered modules.
Traits§
- Module
- A registerable unit: a framework crate or an application feature/plugin.