miniorm
The miniorm crate provides a very simple
ORM
on top of sqlx.
sqlx already provides a
FromRow trait
that can be derived automatically in order to convert a row from the
database into an object. Howver, there is no corresponding ToRow macro
that would allow convert an object back into a row to be inserted into
the database.
This is where miniorm comes in. It provides a trait Schema
that can also be automatically derived to describe the schema
of the table that should be used for a given entity (i.e. struct).
Any struct that implements the FromRow and Schema traits can be used
to create a CrudStore that provide the so-called "CRUD" operations:
- (C)reate
- (R)ead
- (U)pdate
- (D)elete
At the moment, miniorm only supports the postgres backend. Other backends
could be provided in the future.
Examples
use FromRow;
use Schema;
For more complete examples, see:
- todo example for a simple example.
- stock transaction example
for a more complex example, where certain fields are stored as
JSONBcolumn usingserde_json.