Skip to main content

Module module

Module module 

Source
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 as ModuleId.
ModuleId
A module’s stable identity: a lowercase vendor.package code (e.g. ModuleId::new("acme.blog")), declared once and never changed. A newtype so an id is never confused with an arbitrary string.
ModuleRegistry
Ordered collection of registered modules.

Traits§

Module
A registerable unit: a framework crate or an application feature/plugin.