#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

#353 in Procedural macros

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

~205–640KB
~15K SLoC