#enums #postgresql #diesel #proc-macro

macro diesel-enum-sqltype

Provides derive macro for FromSql and ToSql traits for postgres enums

6 releases

0.1.6 Nov 28, 2024
0.1.5 Sep 6, 2024

#345 in Procedural macros

Download history 357/week @ 2024-09-01 30/week @ 2024-09-08 38/week @ 2024-09-15 8/week @ 2024-09-22 6/week @ 2024-09-29 3/week @ 2024-11-03 1/week @ 2024-11-17 99/week @ 2024-11-24 16/week @ 2024-12-01

116 downloads per month

MIT license

7KB
93 lines

Diesel Enum Derive Macro

Overview

A Rust procedural macro library that provides custom derive macros FromSqlDerive and ToSqlDerive for seamless PostgreSQL enum serialization and deserialization with Diesel ORM.

Features

  • Automatically implement FromSql and ToSql traits for PostgreSQL enum types
  • Simple attribute-based configuration
  • Works with unit variants of enums
  • Supports custom SQL type specification

Installation

Add to your Cargo.toml:

[dependencies]
diesel-enum-sqltype = "0.1.5"
diesel = { version = "x.x.x", features = ["postgres"] }

Usage

#[derive(FromSqlDerive, ToSqlDerive)]
#[diesel(sql_type = "YourCustomSqlType")]
enum MyEnum {
    Variant1,
    Variant2,
    Variant3,
}

Limitations

  • Only supports enums with unit variants
  • Requires explicit sql_type attribute

License

MIT

Contributing

Contributions welcome! Please open an issue or submit a pull request.

Dependencies

~225–670KB
~16K SLoC