2 unstable releases
0.2.0 | Nov 10, 2024 |
---|---|
0.1.0 | Nov 10, 2024 |
#417 in Database interfaces
222 downloads per month
8KB
159 lines
sea-orm-typed-id
A Rust library that provides a macro for generating type-safe database ID types for SeaORM.
Caveat
You might not actually need this library; it’s just a macro, and you might be better off simply copying the code from src/lib.rs into your project.
Features
all
: Enables all featuresrustls
: Enables rustls TLS backend for SeaORMpostgres
: Enables PostgreSQL array supportutoipa
: Enables OpenAPI schema generation support
Installation
Add this to your Cargo.toml
:
[dependencies]
sea-orm-typed-id = { version = "0.1.0", features = ["all"] }
Usage
use sea_orm_typed_id::define_id;
define_id!(CakeId);
#[derive(Clone, Debug, PartialEq, Eq, DeriveEntityModel)]
#[sea_orm(table_name = "cakes")]
pub struct Cake {
pub id: CakeId,
}
define_id!(FillingId);
#[derive(Clone, Debug, PartialEq, Eq, DeriveEntityModel)]
#[sea_orm(table_name = "fillings")]
pub struct Filling {
pub id: FillingId,
}
#[derive(Clone, Debug, PartialEq, Eq, DeriveEntityModel)]
#[sea_orm(table_name = "cake_fillings")]
pub struct CakeFilling {
pub cake_id: CakeId,
pub filling_id: FillingId,
}
License
This project is licensed under the MIT License. See the LICENSE file for details.
Dependencies
~7–10MB
~155K SLoC