fimi-rs
🚧 Disclaimer: work in progress 🚧
File migrations made easy.
Description
The purpose of this repository is to offer a framework for configuration file migrations, akin to database migrations. Fimi is designed to be generic, handling various file content types (e.g., JSON, YAML) without concern.
This crate does not impose any restrictions on the migration itself; it is entirely up to the programmer implementing the migration. The migration code should be able to run independently of this framework.
The fimi crate delivers the core business logic for this framework, while fimi_magic includes procedural macros to support this logic.
Usage
The crate tracks executed migrations by keeping record in a manifest file.
/// see `fimi_example` to explore the complete example
Roadmap
- interactive up/down with specified migrations (cargo-fimi?)
- needs dynamically loading of the migration modules when executing from cli (e.g. with
cargo fimi) in the project where the migrations exist 🤔
- needs dynamically loading of the migration modules when executing from cli (e.g. with
- scaffold migrations
Similar crates
fimi-rs differs in the fact that the migrations are generic and are not tied to SQL / specific database connections.