Lightweight SQLite ORM

Kestrel f0c59f36f0 Add migratability for relation types. 5 өдөр өмнө
microrm f0c59f36f0 Add migratability for relation types. 5 өдөр өмнө
microrm-macros f0c59f36f0 Add migratability for relation types. 5 өдөр өмнө
.gitignore 15102cd65d Update .gitignore. 6 өдөр өмнө
.vimrc d06683b9f6 rustfmt pass and get_one_by_multi support. 3 жил өмнө
CHANGELOG.md 9704e7f6d5 Correct microrm-macros dependency and bump version number again. 11 сар өмнө
Cargo.toml ab06e1f3c2 Significant reworking of query interface to be more unified. 1 жил өмнө
README.md 95c0e5c9b3 Minor cleanups. 6 өдөр өмнө
rust-analyzer.json 25603a6dfe Improve documentation and tighten trait impl requirements slightly. 1 жил өмнө
rustfmt.toml d53c910e9f Add rustfmt.toml. 1 жил өмнө

README.md

docs.rs

microrm is a simple object relational manager (ORM) for sqlite that requires no external tooling, keeping all specifications in natural Rust types with no DSLs.

Unlike many fancier ORM systems, microrm is designed to be lightweight, both in terms of runtime overhead and developer LoC. By necessity, it sacrifices flexibility towards these goals, and so can be thought of as more opinionated than, say, SeaORM or Diesel. Major limitations of microrm are:

  • slightly clumsy database migration support
  • limited vocabulary for describing object-to-object relations

microrm pushes the Rust type system somewhat, so the MSRV is currently 1.75. Don't be scared off by the web of traits in the schema module --- you should never need to interact with any of them!